- 저자 : 정재남
- ES5 이하의 이론 중에서 ES6에서도 여전히 중요한 핵심 개념을 위주로 다룹니다. 불필요하거나 조금만 검색해도 쉽게 이해할 수 있는 내용은 과감히 생략했습니다.
- 테크닉이나 요령보다는 원리 이해를 목적으로 합니다.
- 어떤 개념에 대해 ES6에서 대체 가능한 기능이나 방안이 생긴 경우 이에 대해서도 간략히 소개하고자 했습니다.
- 1-1. 데이터 타입의 종류
- 1-2. 데이터 타입에 관한 배경지식
- 1-2-1. 메모리와 데이터
- 1-2-2. 식별자와 변수
- 1-3. 변수 선언과 데이터 할당
- 1-3-1. 변수 선언
- 1-3-2. 데이터 할당
- 1-4. 기본형 데이터와 참조형 데이터
- 1-4-1. 불변값
- 1-4-2. 가변값
- 1-4-3. 변수 복사 비교
- 1-5. 불변 객체
- 1-5-1. 불변 객체를 만드는 간단한 방법
- 1-5-2. 얕은 복사와 깊은 복사
- 1-6. undefined와 null
- 1-7. 정리
- 2-1. 실행 컨텍스트란?
- 2-2. VariableEnvironment
- 2-3. LexicalEnvironment
- 2-3-1. environmentRecord와 호이스팅(hoisting)
- 2-3-2. 스코프, 스포크 체인, outerEnvironmentReference
- 2-4. this
- 2-5. 정리
-
3-1. 상황에 따라 달라지는 this
- 3-1-1. 전역 공간에서의 this
- 3-1-2. 메서드로서 호출할 때 그 메서드 내부에서의 this
- 3-1-3. 함수로서 호출할 때 그 함수 내부에서의 this
- 3-1-4. 콜백 함수 호출 시 그 함수 내부에서의 this
- 3-1-5. 생성자 함수 내부에서의 this
-
3-2. 명시적으로 this를 바인딩하는 방법
- 3-2-1. call 메서드
- 3-2-2. apply메서드
- 3-2-3. call / apply 메서드의 활용
- 3-2-4. bind 메서드
- 3-2-5. 화살표 함수의 예외사항
- 3-2-6. 별도의 인자로 this를 받는 경우(콜백 함수 내에서의 this)
-
3-3. 정리
- 4-1. 콜백 함수란?
- 4-2. 제어권
- 4-2-1. 호출 시점
- 4-2-2. 인자
- 4-2-3. this
- 4-3. 콜백 함수는 함수다
- 4-4. 콜백 함수 내부의 this에 다른 값 바인딩하기
- 4-5. 콜백 지옥과 비동기 제어
- 4-6. 정리
- 5-1. 클로저의 의미 및 원리 이해
- 5-2. 클로저와 메모리 관리
- 5-3. 클로저 활용 사례
- 5-3-1. 콜백 함수 내부에서 외부 데이터를 사용하고자 할 때
- 5-3-2. 접근 권한 제어(정보 은닉)
- 5-3-3. 부분 적용 함수
- 5-3-4. 커링 함수
- 5-4. 정리
- 6-1. 프로토타입의 개념 이해
- 6-1-1. constructor, prototype, instance
- 6-1-2. constructor 프로퍼티
- 6-2. 프로토타입 체인
- 6-2-1. 메서드 오버라이드
- 6-2-2. 프로토타입 체인
- 6-2-3. 객체 전용 메서드의 예외사항
- 6-2-4. 다중 프로토타입 체인
- 6-3. 정리
- 7-1. 클래스와 인스턴스의 개념이해
- 7-2. 자바스크립트의 클래스
- 7-3. 클래스 상속
- 7-3-1. 기본 구현
- 7-3-2. 클래스가 구체적인 데이터를 지니지 않게 하는 방법
- 7-3-3. constructor 복구하기
- 7-2-4. 상위 클래스에의 접근 수단 제공
- 7-4. ES6의 클래스 및 클래스 상속
- 7-5. 정리
- 7-6. 마치며