JavaScript
-
7-3. JavaScript 고차함수 메서드들JavaScript 2023. 4. 4. 18:10
I. 배열의 고차함수(higher order function) 메서드 - 다른 함수(콜백 함수)를 인자로 받음 - 함수형 프로그래밍 - 변수 사용 없이 순회 작업들을 코딩 1. forEach - 각 요소를 인자로 콜백함수 실행 - for문의 좋은 대체제 - 단점 : 예외를 던지지 않으면 종료할 수 없음 (break, continue 사용 불가) - 실행 자체를 위한 메서드이기 때문에 결과는 undefined 인자들: - 콜백함수 - 인자: (현재 값, 현재 값의 인덱스, 해당 배열) - thisArg const arr = [1, 2, 3, 4, 5]; const result = arr.forEach(itm => { console.log(itm);// 1 2 3 4 5 }); const arr = [10,..
-
7-2. JavaScript 배열의 기본 메서드들JavaScript 2023. 4. 3. 00:16
I. 특정 값을 반환하는 기본 메서드들 1. (정적) isArray - 배열인지 여부를 반환 console.log( Array.isArray([1, 2, 3]), Array.isArray('123'), Array.isArray('123'.split(''))// true false true ); ✨ instanceof Array 와의 차이 (isArray를 사용하는것을 권장) const arrays = [ [], [1, 2, 3], new Array(), // ⚠️ instanceof에서는 결과가 다름 Array.prototype // 배열임 ]; const notArrays = [ 1, 'abc', true, null, {} ]; for (const item of arrays) { console.log(..
-
7-1. JavaScript 배열의 특징과 생성JavaScript 2023. 4. 2. 22:21
I. 자바스크립트의 배열은 다르다. 1. 다른 언어들의 배열 - 한 배열에는 같은 자료형의 데이터만 포함 가능 - 데이터의 메모리 주소가 연속적으로 나열됨 - 접근은 빠름, 중간요소의 추가나 제거는 느림 2. 자바스크립트의 배열 - 배열의 형태와 동작을 흉내내는 특수 객체 - 한 배열에 다양한 자료형의 데이터가 들어갈 수 있음 - 연속나열이 아님 - 접근은 상대적으로 느림, 중간요소의 추가나 제거는 빠름 II. 배열 생성 방법들 1. 배열 리터럴 const emptyArr = []; // 빈 배열 const array = [1, 2, 3]; const undefArray = [1, , 2, , 3] // 빈 요소(undefined) 표함 배열 생성 console.log(emptyArr.length, em..
-
6-6. JavaScript Date객체JavaScript 2023. 3. 31. 11:09
I. 생성자 함수 1. 현재 날짜와 시간 const now = new Date(); console.log(typeof now);// object console.log(now);// Fri Mar 31 2023 10:37:00 GMT+0900 (한국 표준시) - new와 함께 사용하면 인스턴스 객체 - 없이 사용하면 문자열 반환 - new Date().toString() 과 같음 2. 밀리초 기준 - 1970년 1월 1일 자정(UTC, 그리니치 평균시)으로부터 인자로 주어진 밀리초만큼 경과한 시간 console.log( new Date(0)// Thu Jan 01 1970 09:00:00 GMT+0900 (한국 표준시) ); console.log( new Date(1000 * 60 * 60 * 24 * 3..
-
6-5. JavaScript Math 객체JavaScript 2023. 3. 31. 10:34
I. Math 객체란? 수학에 관련된 기능을 가진 빌트인 객체 - 정적 프로퍼티와 메서드만 제공 - Number 타입만 지원 (BigInt 사용 불가) II. 주요 정적 프로퍼티 1. PI - 원주율 console.log( Math.PI// 3.141592653589793 ); 2. E - 자연로그의 밑 console.log( Math.E// 2.718281828459045 ); III. 주요 정적 메서드 1. abs (absolute) - 절대값(0이상) 반환 console.log( Math.abs(123),// 123 Math.abs(-123),// 123 ); // 0 반환 console.log( Math.abs(0),// 0 Math.abs(''),// 0 Math.abs(null),// 0 Ma..
-
6-4. JavaScript Number 객체JavaScript 2023. 3. 31. 10:18
I. 생성자 함수 const numObj1 = new Number(); const numObj2 = new Number(123); const numObj3 = new Number(-123.45); console.log(numObj1, numObj2, numObj3);// {0} {123} {-123.45} console.log( numObj1.valueOf(),// 0 numObj2.valueOf(),// 123 numObj3.valueOf()// -123.45 ); - 인자가 없을 시, 0 const num1 = Number('123'); const num2 = Number('-123.45'); const num3 = Number(true); const num4 = Number(false); const..
-
6-3. JavaScript String 객체JavaScript 2023. 3. 31. 00:02
I. 생성자 함수 const strObj1 = new String(); const strObj2 = new String('Hello World!'); console.log(strObj1); console.log(strObj2); console.log(strObj1.valueOf(), strObj1.toString()); console.log(strObj2.valueOf(), strObj2.toString()); - 콘솔에서 펼쳐서 프로퍼티들을 확인해 볼 것 - [[PrimitiveValue]] 비교해 볼 것 - valueOf 또는 toString 메서드로 문자열 원시값 반환 - 다른 타입들도 감쌀 수 있음 (문자열로 변환한 값을 가진 String 객체 반환 ✨new 없이 사용하면? - 생성자로써가 아닌 ..
-
6-2. JavaScript 빌트인 전역 프로퍼티와 함수JavaScript 2023. 3. 30. 23:20
1. 빌트인 전역 프로퍼티 스스로 다른 프로퍼티나 메서드를 갖지 않고 값만 반환 console.log(globalThis.Infinity);// Infinity console.log(globalThis.NaN);// NaN console.log(globalThis.undefined);// undefined console.log( globalThis == globalThis.globalThis,// true globalThis == globalThis.globalThis.globalThis,// true globalThis == globalThis.globalThis.globalThis.globalThis// true ); - Infinity, NaN, undefined 등의 원시값들은 이 프로퍼티를 가리..