ECMA스크립트

ECMA스크립트(ECMAScript, 또는 ES)란, Ecma International이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말한다. 자바스크립트를 표준화하기 위해 만들어졌다. 액션스크립트와 J스크립트 등 다른 구현체도 포함하고 있다. ECMA스크립트는 웹의 클라이언트 사이드 스크립트로 많이 사용되며 Node.js를 사용한 서버 응용 프로그램 및 서비스에도 점차 많이 쓰이고 있다.

 역사 
1996년 3월, 넷스케이프에서 넷스케이프 네비게이터 2.0을 출시하면서 자바스크립트를 지원하기 시작했다. 웹 페이지 동작을 향상시키는 언어로서 자바스크립트의 성공은, 마이크로소프트가 이와 "적당히" 호환되는 J스크립트를 개발하는 계기가 되었다. J스크립트는 1996년 8월, 인터넷 익스플로러 3.0에 포함되어 출시되었다.

넷스케이프는 표준화를 위해 자바스크립트 기술 규격을 Ecma 인터내셔널에 제출하였고, 이 규격에 대한 작업은 ECMA-262의 이름으로 1996년 11월부터 시작됐다. ECMA-262의 초판은 ECMA 일반 회의에서 1997년 6월 채택됐다.

ECMA스크립트는 ECMA-262에 의해 표준화된 언어의 이름이다. 자바스크립트와 J스크립트는 모두 ECMA스크립트와의 호환을 목표로 하면서, ECMA 규격에 포함되지 않는 확장 기능을 제공한다.

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

판출판일이름이전 판과의 차이점11997년 6월초판21998년 6월ISO/IEC 16262 국제 표준과 완전히 동일한 규격을 적용하기 위한 변경.31999년 12월강력한 정규 표현식, 향상된 문자열 처리, 새로운 제어문 , try/catch 예외 처리, 엄격한 오류 정의, 수치형 출력의 포매팅 등.4버려짐4번째 판은 언어에 얽힌 정치적 차이로 인해 버려졌다. 이 판에서 이루어진 작업 가운데 일부는 5번째 판을 이루는 기본이 되고 다른 일부는 ECMA스크립트의 기본을 이루고 있다.52009년 12월더 철저한 오류 검사를 제공하고 오류 경향이 있는 구조를 피하는 하부집합인 "strict mode"를 추가한다. 3번째 판의 규격에 있던 수많은 애매한 부분을 명확히 한다.Changes to JavaScript, Part 1: EcmaScript 55.12011년 6월ECMA스크립트 표준의 제 5.1판은 ISO/IEC 16262:2011 국제 표준 제3판과 함께 한다.62015년 6월ECMAScript 2015 (ES2015)6판에는 클래스와 모듈 같은 복잡한 응용 프로그램을 작성하기 위한 새로운 문법이 추가되었다. 하지만 이러한 문법의 의미는 5판의 strict mode와 같은 방법으로 정의된다. 이 판은 "ECMAScript Harmony" 혹은 "ES6 Harmony" 등으로 불리기도 한다.72016년 6월ECMAScript 2016 (ES2016)제곱연산자 추가, Array.prototype.includes82017년 6월ECMAScript 2017 (ES2017)함수 표현식의 인자에서 trailing commas 허용, Object values/entries 메소드, async/await 등.92018년 6월ECMAScript 2018 (ES2018)Promise.finally, Async iteration, object rest/spread property 등.102019년 6월ECMAScript 2019 (ES2019)Object.fromEntries, flat, flatMap, Symbol.description, optional catch 등.

2004년 6월에 Ecma 인터내셔널은 E4X(XML을 위한 ECMA스크립트)로 알려진 ECMA스크립트의 확장을 정의하는 ECMA-357을 출판했으나 2015년에 표준에서 제외됐다.

 같이 보기 
 자바스크립트
 J스크립트

 각주 

 외부 링크 

 ISO 표준
 ISO 16262
 ECMA 표준
 표준 ECMA-262 ECMA스크립트 언어 규격
 표준 ECMA-262 ECMA스크립트 언어 규격 3판 (1999년 12월)
 표준 ECMA-262 ECMA스크립트 언어 규격 3판 최종 (2000년 3월 24일)
 표준 ECMA-262 ECMA스크립트 언어 규격 5판 (2009년 12월)
 표준 ECMA-262 ECMA스크립트 언어 규격 5.1판 (2011년 6월)
 표준 ECMA-262 ECMA스크립트 언어 규격 6판 (2015년 6월)
 표준 ECMA-262 ECMA스크립트 언어 규격 9판 (2018년 6월)
 표준 ECMA-262 ECMA스크립트 언어 규격 10판 (2019년 6월)
 표준 ECMA-290 ECMA스크립트 컴포넌트 규격 (1999년 6월)
 표준 ECMA-327 ECMA스크립트 3판 축약판 (2001년 6월)
 표준 ECMA-357 XML을 위한 ECMA스크립트(E4X) 규격 (2004년 6월)

분류:스크립트 언어
분류:ISO 표준
분류:C 프로그래밍 언어 계열
분류:자바스크립트 프로그래밍 언어 계열
분류:컴퓨터 표준
분류:Ecma 표준
분류:소스 대 소스 컴파일러
분류:동적 타입 프로그래밍 언어
분류:객체 기반 프로그래밍 언어
분류:ISO 표준 프로그래밍 언어