# 02 ECMAScript

- [2.0 ECMAScript](/ts-for-jsdev/02-ecmascript/intro.md): 타입스크립트의 기반이 되는 언어 ECMAScript 최신 명세에 추가된 여러 유용한 기능들을 살펴본다.
- [2.1 블록 수준 스코프](/ts-for-jsdev/02-ecmascript/block-level-scope.md)
- [2.1.1 let을 이용한 선언](/ts-for-jsdev/02-ecmascript/block-level-scope/declaration-using-let.md): let을 이용해 재할당이 가능한 블록 레벨 변수를 선언할 수 있다.
- [2.2.2 const를 이용한 선언](/ts-for-jsdev/02-ecmascript/block-level-scope/declaration-using-const.md): const를 이용해 재할당이 불가능한 블록 레벨 변수를 선언할 수 있다.
- [2.2.3 스코프 베스트 프랙티스](/ts-for-jsdev/02-ecmascript/block-level-scope/scope-best-practice.md)
- [2.2 객체와 배열](/ts-for-jsdev/02-ecmascript/object-and-array.md)
- [2.2.1 비구조화 할당](/ts-for-jsdev/02-ecmascript/object-and-array/destructuring-assignment.md): 비구조화 할당 문법을 이용해 이전까지 여러 라인에 걸쳐 적어야만 했던 할당을 보다 간결하게 쓸 수 있다.
- [2.2.2 나머지 연산자와 전개 연산자](/ts-for-jsdev/02-ecmascript/object-and-array/rest-and-spread-operator.md)
- [2.2.3 객체 리터럴 변경사항](/ts-for-jsdev/02-ecmascript/object-and-array/object-literal-diff.md): 최신 ECMAScript에서의 객체 리터럴 변경사항에 대해 다룬다.
- [2.3 함수](/ts-for-jsdev/02-ecmascript/function.md): 최신 ECMAScript 명세에서 자바스크립트 함수에 어떤 변경점이 있었는지 알아본다.
- [2.3.1 기본 매개변수](/ts-for-jsdev/02-ecmascript/function/default-parameter.md): ES6 기본 매개변수 문법을 사용해 매개변수의 기본값을 간결하게 표현할 수 있다.
- [2.3.2 화살표 함수](/ts-for-jsdev/02-ecmascript/function/arrow-functions.md): 화살표 함수는 자바스크립트 함수 내부에서 this가 야기하는 혼란을 줄여준다.
- [2.4 템플릿 리터럴](/ts-for-jsdev/02-ecmascript/template-literal.md)
- [2.4.1 멀티라인 문자열](/ts-for-jsdev/02-ecmascript/template-literal/multiline-string.md): 템플릿 리터럴을 이용해 여러 줄에 걸친 문자열을 손쉽게 표현할 수 있다.
- [2.4.2 문자열 치환](/ts-for-jsdev/02-ecmascript/template-literal/string-substitution.md): 템플릿 리터럴은 문자열의 일부를 특정 값으로 치환할 수 있는 수단을 제공한다.
- [2.5 원소 순회](/ts-for-jsdev/02-ecmascript/element-enumeration.md): 최신 ECMAScript 명세에 추가된 원소 순회 수단에 대해 알아본다.
- [2.5.1 forEach 메소드](/ts-for-jsdev/02-ecmascript/element-enumeration/foreach.md)
- [2.5.2 for-of 문법](/ts-for-jsdev/02-ecmascript/element-enumeration/for-of.md)
- [2.5.3 이터레이터 프로토콜](/ts-for-jsdev/02-ecmascript/element-enumeration/iterator-protocol.md)
- [2.5.4 이터러블 프로토콜](/ts-for-jsdev/02-ecmascript/element-enumeration/iterable-protocol.md)
- [2.6 비동기 처리](/ts-for-jsdev/02-ecmascript/handling-asynchronous.md)
- [2.6.1 프로미스](/ts-for-jsdev/02-ecmascript/handling-asynchronous/promises.md)
- [2.6.2 Async / Await](/ts-for-jsdev/02-ecmascript/handling-asynchronous/async-await.md)
- [2.7 맺으며](/ts-for-jsdev/02-ecmascript/outro.md)
