본문 바로가기

Books/모던 JS Deep Dive ✔️49

[모던 JS Deep Dive] 37장 - Set과 Map 37.1 Set - Set 객체: 중복되지 않는 유일한 값들의 집합, 요소 순서 의미 X, 인덱스로 요소 접근 불가 - Set 객체의 생성 - Set 생성자 함수로 생성 - 이터러블을 인수로 전달받아 Set 객체 생성 - 배열에서 중복된 요소 쉽게 제거 가능 (filter, indexOf 메서드 사용 안해도 됨) - 요소 개수 확인 - Set.prototype.size 프로퍼티 - setter 함수 없이 getter 함수만 존재하는 접근자 프로퍼티 - 요소 추가 - Set.prototype.add 메서드 - 새로운 요소 추가된 Set 객체 반환 => add 메서드 chaining 가능 (연속적 호출) - NaN과 NaN, 0과 -0은 같다고 평가하여 중복 추가 허용 X - Set 객체에 JS 모든 값을 .. 2022. 1. 20.
[모던 JS Deep Dive] 36장 - 디스트럭처링 할당 36.1 배열 디스트럭처링 할당 - ES6, 배열 디스트럭처링 할당의 대상은 이터러블 (할당문의 우변) - 할당 기준은 배열의 인덱스 => 순서대로 할당됨 - 배열 디스트럭처링 할당 위한 변수에 기본값 설정 가능 - 기본값보다 할당된 값이 우선 - 배열과 같은 이터러블에서 필요한 요소만 추출하여 변수에 할당하고 싶을 때 유용 - 배열 디스트럭처링 할당 위한 변수에 Rest 요소 ... 사용 가능 36.2 객체 디스트럭처링 할당 - ES6, 객체 디스트럭처링 할당의 대상은 객체 (할당문의 우변) - 할당 기준은 프로퍼티 키 (순서는 의미 없음) - 선언된 변수 이름과 프로퍼티 키가 일치하면 할당됨 - 프로퍼티 축약 표현 가능 - 객체에서 프로퍼티 키로 필요한 프로퍼티 값만 추출하여 변수에 할당하고 싶을 때.. 2022. 1. 20.
[모던 JS Deep Dive] 35장 - 스프레드 문법 35.0 스프레드 문법 - ES6, 스프레드 문법: 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만듦 - for ... of문으로 순회 가능한 이터러블에 한정해서 사용 가능 - 스프레드 문법의 결과는 값이 아님 (값 생성하는 연산자 아님) - 변수에 할당 불가 - 스프레드 문법 사용 가능한 곳 (쉼표로 구분한 값의 목록을 사용하는 문맥에서만 가능) - 함수 호출문의 인수 목록 - 배열 리터럴의 요소 목록 - 객체 리터럴의 프로퍼티 목록 35.1 함수 호출문의 인수 목록에서 사용하는 경우 - Math.max(가변인자) - apply 메서드 이용 - 스프레드 문법 사용 시 간결, 가독성 더 좋음 - Rest 파라미터와 혼동할 수 있으므로 주의 - Rest 파라미터: 인수들의 목록을 .. 2022. 1. 20.
[모던 JS Deep Dive] 34장 - 이터러블 34.1 이터레이션 프로토콜 - 이터레이션 프로토콜: ES6, 순회 가능한 데이터 컬렉션 (자료구조)을 만들기 위해 ECMA Script 사양에서 정의하여 미리 약속한 규칙 - 이터러블 프로토콜 - 이터러블; 순회 가능한 자료구조 - for ... of 문으로 순회 가능, 스프레드/디스트럭쳐링 할당 대상으로 사용 가능 - 이터레이터 프로토콜 - 이터레이터; next 메서드 소유, next 메서드 호출하면 이터러블 순회, value, done 프로퍼티 갖는 객체 반환 - 이터레이터는 이터러블의 요소를 탐색하기 위한 포인터 역할 - 이터러블 - 일반 객체는 이터러블이 아님 (객체 리터럴) - 일반 객체에 스프레드 문법 사용은 허용 (2021.1 TC39 stage 4) - 이터레이터 - 이터러블의 Symbo.. 2022. 1. 19.
반응형