ECMAScript 2015는 ECMAScript 언어의 6번째 표준 스펙(Spec)입니다. 파이어폭스와 모질라 애플리케이션에서 사용되는 SpiderMonkey 엔진의 표준 자바스크립트를 정의하고 있습니다.
"ES.next", "Harmony", or "ECMAScript 6" 등의 코드네임으로 불린 이 표준은 2011년 7월 12일에 "ES.next"라는 명칭으로 초안이 발표되었습니다. 2014년 8월 드디어 ECMAScript 2015 초안의 기능들이 확정되고 안정화와 버그 수정 작업에 들어갔습니다. 그리고 2015년 6월 17일, 드디어 ECMA-262 Edition 6은 ECMA 총회(General Assembly)의 공식 승인을 받아 배포되었습니다. 이 표준은 국제 산업 규격 ISO/IEC 16262:2016이기도 합니다.
PDF와 HTML 버전의 표준을 ecma-international.org 에서 무료로 다운로드 할 수 있습니다.
ECMAScript 표준에 대한 피드백 채널은 es-discuss을 이용하시면 됩니다.
표준 라이브러리
Array
객체 추가사항
Array
iteration withfor...of
(Firefox 13)Array.from()
(Firefox 32)Array.of()
(Firefox 25)Array.prototype.fill()
(Firefox 31)Array.prototype.find()
,Array.prototype.findIndex()
(Firefox 25)Array.prototype.entries()
,
Array.prototype.keys()
(Firefox 28),
Array.prototype.values()
Array.prototype.copyWithin()
(Firefox 32)get Array[@@species]
(Firefox 48)
새로운 Map
과 Set
객체 그리고 WeakMap과
WeakSet 객체
Map
(Firefox 13)for...of
에서의Map
반복 (Firefox 17)Map.prototype.forEach()
(Firefox 25)Map.prototype.entries()
(Firefox 20)Map.prototype.keys()
(Firefox 20)Map.prototype.values()
- 생성자 인수:
new
(Firefox 37)Map
(null) - 몽키 패치 된 생성자 내의
set()
(Firefox 37) get Map[@@species]
(Firefox 41)
Set
(Firefox 13)for...of
에서의Set
반복 (Firefox 17)Set.prototype.forEach()
(Firefox 25)Set.prototype.entries()
,
Set.prototype.keys()
,
Set.prototype.values()
(Firefox 24)- 생성자 인수:
new
(Firefox 37)Set
(null) - 몽키 패치 된 생성자 내의
add()
(Firefox 37)
WeakMap
(Firefox 6)WeakMap.clear()
(Firefox 20)- 반복 가능한
WeakMap
생성자 내의 선택적 인수 (Firefox 36) - 생성자 인수:
new
(Firefox 37)WeakMap
(null) - 몽키 패치 된 생성자 내의
set()
(Firefox 37)
WeakSet
(Firefox 34)- 생성자 인수:
new
(Firefox 37)WeakSet
(null) - 몽키 패치 된 생성자 내의
add()
(Firefox 37)
- 생성자 인수:
새로운 Math
함수
Number
객체 추가사항
Object
객체 추가사항
Date
객체 추가사항
Date.prototype
is an ordinary object (Firefox 41)- generic
Date.prototype.toString
(Firefox 41) Date.prototype[@@toPrimitive]
(Firefox 44)
새로운 Promise
객체
Promise
(Firefox 24(Firefox 29에서 기본값으로 활성화 되어 있음))
새로운 Proxy
객체
Proxy
(Firefox 18)preventExtensions()
trap (Firefox 22)isExtensible()
trap (Firefox 31)getPrototypeOf()
andsetPrototypeOf()
traps (Firefox 49)
새로운 Reflect
객체
RegExp
객체 추가사항
RegExp
sticky (y) flag (Firefox 38)RegExp
unicode (u) flag (Firefox 46)- generic
RegExp.prototype.toString
(Firefox 39) RegExp.prototype[@@match]()
(Firefox 49)RegExp.prototype[@@replace]()
(Firefox 49)RegExp.prototype[@@search]()
(Firefox 49)RegExp.prototype[@@split]()
(Firefox 49)get RegExp[@@species]
(Firefox 49)
String
객체 추가사항
String.fromCodePoint()
(Firefox 29)String.prototype.codePointAt()
(Firefox 29)String.prototype.startsWith()
,String.prototype.endsWith()
(Firefox 17)String.prototype.includes()
(Firefox 40) (formerlyString.prototype.contains()
(Firefox 17))String.prototype.repeat()
(Firefox 24)String.prototype.normalize()
(Firefox 31)String.raw()
(Firefox 34)- u{XXXXXX} 유니코드 코드 포인트 (Firefox 40)
새로운 Symbol
객체
Symbol
(Firefox 36)Symbol.iterator
(Firefox 36)Symbol.for()
- global Symbol registry (Firefox 36)Symbol.match
(Firefox 40)Symbol.species
(Firefox 41)Symbol.toPrimitive
(Firefox 44)Symbol.prototype[@@toPrimitive]
(Firefox 44)Symbol.replace
(Firefox 49)Symbol.search
(Firefox 49)Symbol.split
(Firefox 49)Symbol.hasInstance
(Firefox 50)
형식화된 배열
형식화된 배열은 ECMAScript 2015의 일부로 지정되었고, 더 이상 자신의 기존 명세서를 따르지 않습니다.
표현식과 연산자
- new.target (Firefox 41)
- 배열을 위한 Spread 연산자 (Firefox 16)
Symbol.iterator
속성 사용 (Firefox 36)
- 함수 호출을 위한 Spread 연산자 (Firefox 27)
Symbol.iterator
속성 사용 (Firefox 36)
const
(JS 1.5, Firefox 1.0) (ES2015 compliance bug 950547 implemented in Firefox 51)let
(JS 1.7, Firefox 2) (ES2015 compliance bug 950547 implemented in Firefox 51)- Destructuring assignment (JS 1.7, Firefox 2) (ES2015 compliance bug 1055984)
문(문장)
for...of
(Firefox 13).iterator()
와.next()
에 관한 동작 (Firefox 17)"@@iterator"
속성 사용 (Firefox 27)Symbol.iterator
속성 사용 (Firefox 36)
함수
- Rest 매개 변수 (Firefox 15)
- Default 매개 변수 (Firefox 15)
- Parameters without defaults after default parameters (Firefox 26)
- Destructured parameters with default value assignment (Firefox 41)
- Arrow 함수 (Firefox 22)
Generator 함수
(Firefox 26)arguments[@@iterator]
(Firefox 46)