1.
재귀와 스택
개요
두 가지 사고방식
실행 컨텍스트와 스택
재귀적 순회
재귀적 구조
요약
2.
나머지 매개변수와 스프레드 문법
: 상당수의 자바스크립트 내장 함수는 인수에 제한을 두지 않음, 임의의 수의 인수를 매개변수로 받는 법
나머지 매개변수 …
스프레드 문법
배열과 객체의 복사본 만들기
요약
3.
변수의 유효범위와 클로저
개요
코드 블록
중첩 함수
렉시컬 환경
가비지 컬렉션
4.
오래된 var - 만약 내가 구식 스크립트를 다룰 일이 있다면..!
개요
5.
전역 객체
개요
폴리필 사용하기
요약
6.
객체로서의 함수와 기명 함수 표현식
: 자바스크립트에서 함수는 값으로 취급, 모든 값은 자료형을 가지고 있는데, 함수의 자료형은? 객체
: 함수는 호출이 가능한 ‘행동 객체’, 우리는 함수를 호출할 수 있을 뿐만 아니라 객체처럼 함수에 프로퍼티를 추가, 제거하거나 참조를 통해 전달할 수 있음
‘name’ 프로퍼티
‘length’ 프로퍼티
커스텀 프로퍼티
기명 함수 표현식
요약
7.
new Function 문법
: 함수 표현식과 함수 선언문 이외에 함수를 만들 수 있는 방법
문법
클로저
요약
8.
setTimeout과 setInterval을 이용한 호출 스케쥴링
: 일정 시간이 지난 후에 원하는 함수를 예약 실행할 수 있게하는 것
setTimeout
setInterval
중첩 setTimeout
대기 시간이 0인 setTimeout
요약
9.
call/apply와 데코레이터, 포워딩
: 함수 간에 호출을 어떻게 포워딩하는지, 함수를 어떻게 데코레이팅하는 지
코드 변경 없이 캐싱 기능 추가하기
‘func.call’를 사용해 컨텍스트 지정하기
여러 인수 전달하기
func.apply
메서드 빌리기
데코레이터와 함수 프로퍼티
요약
10.
함수 바인딩
: 객체 메서드를 콜백으로 전달할때, this 정보가 사라지는 문제에 대해 해결하는 방법
사라진 ‘this’
방법 1: 래퍼
방법 2: 바인드
부분 적용
컨텍스트 없는 부분 적용
요약
11.
화살표 함수 다시 살펴보기
: 화살표 함수는 단순히 함수를 짧게 쓰기 위한 용도로 사용되지 않음, 화살표 함수는 몇가지 독특하고 유용한 기능을 제공함
•
arr.forEach(func) - func는 forEach가 호출될 때 배열 arr의 요소 전체를 대상으로 실행
•
setTimeout(func) - func는 내장 스케쥴러에 의해 실행됨
화살표 함수에는 ‘this’가 없다.
화살표 함수엔 ‘arguments’가 없다.
요약