Skip to content

핵심 개념과 동작 원리로 이해하는 자바스크립트 프로그래밍

Notifications You must be signed in to change notification settings

Metacognition-Polymath/core-javascript

Repository files navigation

코어 자바스크립트

  • 저자 : 정재남

저자의 집필 방향

  • ES5 이하의 이론 중에서 ES6에서도 여전히 중요한 핵심 개념을 위주로 다룹니다. 불필요하거나 조금만 검색해도 쉽게 이해할 수 있는 내용은 과감히 생략했습니다.
  • 테크닉이나 요령보다는 원리 이해를 목적으로 합니다.
  • 어떤 개념에 대해 ES6에서 대체 가능한 기능이나 방안이 생긴 경우 이에 대해서도 간략히 소개하고자 했습니다.

목차

1. 데이터 타입

  • 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. 실행 컨텍스트

  • 2-1. 실행 컨텍스트란?
  • 2-2. VariableEnvironment
  • 2-3. LexicalEnvironment
    • 2-3-1. environmentRecord와 호이스팅(hoisting)
    • 2-3-2. 스코프, 스포크 체인, outerEnvironmentReference
  • 2-4. this
  • 2-5. 정리

3. this

  • 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. 콜백함수

  • 4-1. 콜백 함수란?
  • 4-2. 제어권
    • 4-2-1. 호출 시점
    • 4-2-2. 인자
    • 4-2-3. this
  • 4-3. 콜백 함수는 함수다
  • 4-4. 콜백 함수 내부의 this에 다른 값 바인딩하기
  • 4-5. 콜백 지옥과 비동기 제어
  • 4-6. 정리

5. 클로저

  • 5-1. 클로저의 의미 및 원리 이해
  • 5-2. 클로저와 메모리 관리
  • 5-3. 클로저 활용 사례
    • 5-3-1. 콜백 함수 내부에서 외부 데이터를 사용하고자 할 때
    • 5-3-2. 접근 권한 제어(정보 은닉)
    • 5-3-3. 부분 적용 함수
    • 5-3-4. 커링 함수
  • 5-4. 정리

6. 프로토타입

  • 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. 클래스

  • 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. 마치며

About

핵심 개념과 동작 원리로 이해하는 자바스크립트 프로그래밍

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published