ESMAScript version

많은 현대 웹 브라우저에서 지원되는 기본 JavaScript 버전, ES5에서는 객체 리터럴 확장, 배열 메서드 등이 추가

JSON 지원 추가

“strict mode” 도입

배열 메서드 추가 (forEach, map, filter, reduce 등)

Getter와 Setter 지원 추가

Object.create(), Object.defineProperty() 등의 메서드 추가

큰 변화를 가져온 버전으로, 화살표 함수, 클래스, 템플릿 리터럴, let 및 const 등과 같은 새로운 키워드와 문법이 도입

화살표 함수 (Arrow functions)

클래스 (Classes)

템플릿 리터럴 (Template literals)

let과 const (Block-scoped 변수)

Promise와 async/await

모듈 (Modules)

확산 연산자 (Spread operator)

구조 분해 할당 (Destructuring assignment) 등

Array.prototype.includes() 추가

지수 연산자 (**) 추가

async/await 기능의 개선

Object.values(), Object.entries() 추가

String padding (padStart(), padEnd())

Object.getOwnPropertyDescriptors() 추가

Rest/Spread 프로퍼티

정규 표현식의 s(flag, dotAll 모드)

Promise.prototype.finally()

Async 반복 (Asynchronous Iteration)

객체 정리 (Object Rest/Spread Properties)

ES10 / ES2019 (2019년):

Array.prototype.flat(), Array.prototype.flatMap()

Object.fromEntries()

String.prototype.trimStart(), String.prototype.trimEnd()

Symbol.prototype.description

Optional Catch Binding

Optional chaining (?.)

Null 병합 연산자 (??)

BigInt 타입

Promise.allSettled()

String.prototype.matchAll()

String.prototype.replaceAll()

Promise.any()

Logical Assignment Operators (||=, &&=, ??=)

Numeric Separators

WeakRef 객체 등

Optional Chaining for property declarations

Numeric separators

Private instance methods and accessors

Extended optional catch binding

Loading

Leave a Reply

Your email address will not be published. Required fields are marked *