Skip to content

ECMAScript

ECMA스크립트(ECMAScript)는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어이다. 이 언어는 웹 상에서 널리 쓰이며, 흔히 자바스크립트 또는 J스크립트로도 생각할 수 있지만 두 용어는 특별한 의미 차이가 있다. ECMA스크립트와 자바스크립트, J스크립트의 관계를 이해하기 위해서는 ECMA스크립트의 역사를 알아야 한다.

Versions

ECMA-262는 10개의 판이 출판되었다. 10판 표준에 대한 작업은 2019년 6월에 마무리됐다.

출판일

이름

이전 판과의 차이점

1

1997년 6월

초판

2

1998년 6월

ISO/IEC 16262 국제 표준과 완전히 동일한 규격을 적용하기 위한 변경.

3

1999년 12월

강력한 정규 표현식, 향상된 문자열 처리, 새로운 제어문 , try/catch 예외 처리, 엄격한 오류 정의, 수치형 출력의 포매팅 등.

4

버려짐

4번째 판은 언어에 얽힌 정치적 차이로 인해 버려졌다. 이 판을 작업 가운데 일부는 5번째 판을 이루는 기본이 되고 다른 일부는 ECMA스크립트의 기본을 이루고 있다.

5

2009년 12월

더 철저한 오류 검사를 제공하고 오류 경향이 있는 구조를 피하는 하부집합인 "strict mode"를 추가한다. 3번째 판의 규격에 있던 수많은 애매한 부분을 명확히 한다.1

5.1

2011년 6월

ECMA스크립트 표준의 제 5.1판은 ISO/IEC 16262:2011 국제 표준 제3판과 함께 한다.

6

2015년 6월

ECMAScript 2015 (ES2015)

6판에는 클래스와 모듈 같은 복잡한 응용 프로그램을 작성하기 위한 새로운 문법이 추가되었다. 하지만 이러한 문법의 의미는 5판의 strict mode와 같은 방법으로 정의된다. 이 판은 "ECMAScript Harmony" 혹은 "ES6 Harmony" 등으로 불리기도 한다.

7

2016년 6월

ECMAScript 2016 (ES2016)

제곱연산자 추가, Array.prototype.includes

8

2017년 6월

ECMAScript 2017 (ES2017)

함수 표현식의 인자에서 trailing commas 허용, Object values/entries 메소드, async/await 등.

9

2018년 6월

ECMAScript 2018 (ES2018)

Promise.finally, Async iteration, object rest/spread property 등.

10

2019년 6월

ECMAScript 2019 (ES2019)

Object.fromEntries, flat, flatMap, Symbol.description, optional catch 등.

4th Edition (abandoned)

5th Edition

6th Edition – ECMAScript 2015

7th Edition – ECMAScript 2016

ES2016에서 비동기 프로그래밍을 위한 <coede>await</code> 키워드를 "Future Reserved Words"로 지정했다.2 (즉, 아직 미구현)

8th Edition – ECMAScript 2017

await, async
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/await

9th Edition – ECMAScript 2018

10th Edition – ECMAScript 2019

11th Edition – ECMAScript 2020

Nullish Coalescing Operator
e.g. a ?? b
Optional Chaining
e.g. foo.a?.b

12th Edition – ECMAScript 2021

Logical assignment operators (논리 할당 연산자)
e.g. obj.prop ??= foo();
Numeric separators (숫자 구분 기호)
e.g. 10_000_000_000

See also

Favorite site

References