UX Engineer 이명종

ECMAScript 정리

ECMAScript 정리

자바스크립트의 탄생과 역사, ECMAScript 이하 ES가 무엇인지 정의와 각 버전별 특징&차이점을 간략하게 정리하였다. 최신 스펙의 기능 등 세세한 부분은 참조한 링크에 잘 정리가 되어있어 해당 글에는 따로 정리는 하지 않았다.

목차

JavaScript의 탄생


ECMAScript 설명


ECMAScript 버전별 특징


스크립트 언어의 표준화 제정 필요


ES1 ~ ES3 (1997 ~ 1999)
ES4 (폐기)
ES5 (2009)
[목록]
ES6 (2015)
[목록]
6) 클래스 (Class)
7) 가변 파라미터
ES7 (2016)
[목록]
1) 제곱 연산자 (**)
ES6↓
// 예전에는 제곱을 표현하기 위해 Math 객체를 사용함
Math.pow(5, 3); // 125
ES7
5 ** 3; // 125

// 제곱에 대한 복합대입연산자 추가
var i = 2;
i **= 3; // 8

var i = 5;
i **= 3; // 125
2) Array.includes 배열에 해당 요소가 존재하는지 확인하는 메소드 등장
ES8 (2017)
[목록]

ES9 (2018)

[목록]

1) Object rest, spread

2) Promise finally ()

3) Async iteration (For-of 구문)

4) 정규 표현식 업데이트


lookbehind


ES10 (2019)

[목록]

1) Object.fromEntries()

const obj = { one: 1, two: 2, three: 3 };
console.log(Object.entries(obj));
// => [["one", 1], ["two", 2], ["three", 3]]

2) trimStart() 와 trimEnd()

"    abc    ".trim(); // 'abc'
"    abc    ".trimStart(); // 'abc    '
"    abc    ".trimEnd(); // '    abc'
"    abc    ".trimRight(); // '    abc'
"    abc    ".trimLeft(); // 'abc    '

3) flat() 과 flatMap()

4) Symbol 객체의 Description 속성

5) 선택적 catch 바인딩

ES11 (2020)

[목록]

1) matchAll

2) BigInt

3) Promise.allSettled

4) globalThis

5) 옵셔널 체이닝

6) nullish coalescing

ES12 (2021)

[목록]

1) replaceAll

2) Promise.any

3) 논리 할당 연산자

4) 숫자 구분 기호

참고 자료


Share this: