다음은 JavaScript 1.8.5에 대한 변경기록입니다. 이 버전은 Firefox 4에서 포함되었습니다.
JavaScript 1.8.5의 새로운 기능
새로운 함수
함수 | 설명 |
---|---|
Object.create() |
지정된 프로토타입 객체 및 속성을 갖는 새로운 객체 생성. bug 492840 |
Object.defineProperty() |
객체에 주어진 설명자로 기술된 유명(named) 속성을 추가. |
Object.defineProperties() |
객체에 주어진 설명자로 기술된 유명 속성을 추가. |
Object.getOwnPropertyDescriptor() |
객체의 유명 속성에 대한 속성 설명자를 반환. bug 505587 |
Object.keys() |
객체의 모든 열거가능 속성 배열을 반환. bug 307791 |
Object.getOwnPropertyNames() |
객체의 모든 열거가능 및 열거불가 속성 배열을 반환. bug 518663 |
Object.preventExtensions() |
객체 확장을 막음. bug 492849 |
Object.isExtensible() |
객체 확장이 허용되는지 판단. bug 492849 |
Object.seal() |
다른 코드가 객체의 속성을 삭제하는 것으로부터 막음. bug 492845 |
Object.isSealed() |
객체가 봉인되었는지 판단. bug 492845 |
Object.freeze() |
객체 동결: 다른 코드가 어떤 속성도 삭제 또는 변경할 수 없음. bug 492844 |
Object.isFrozen() |
객체가 동결됐는지 판단. bug 492844 |
Array.isArray() |
변수가 배열인지 확인. bug 510537 |
Date.prototype.toJSON() |
Date 객체의 JSON 형식 문자열 반환. |
Function.prototype.bind() |
호출될 때 그 자체가 (주어진 인수열과 함께) 주어진 문맥에서 이 함수를 호출하는 새로운 함수 생성 bug 429507 |
ECMAScript5 새로운 기능
get
및set
연산자는 이제 식별자가 숫자 또는 문자열이 될 수 있습니다. bug 520696Function.apply()
는 인수 목록으로 모든 배열같은 객체를 받아들일 수 있습니다, 실제 배열만이 아니라.- 엄격 모드 지원
Array.toString()
은 이제 가능한 경우 그join()
메서드 호출 결과를 반환 또는 그toString()
메서드를 호출하여 심지어 비배열에서도 동작합니다.
다른 표준화 작업
getter 및 setter를 정의하는 다양한 비표준 구문이 제거되었습니다; ECMAScript 5에서 정의된 구문은 변경되지 않았습니다. 이들은 모두 꽤 난해하고 거의 쓰이지 않았습니다; 영향을 미치는 경우, 자세한 사항은 이 블로그 게시글 참조.
새로운 객체
객체 | 설명 |
---|---|
Proxy |
JavaScript에서 메타프로그래밍을 가능케 하는 Object 및 Function 프록시 생성 지원을 제공. |
JavaScript 1.8.5에서 바뀐 기능
Date
객체 ISO 8601 지원:Date
객체의 parse() 메서드가 이제 단순한 ISO 8601 형식 date 문자열을 지원합니다.- Global 객체가 읽기 전용이 됨:
NaN
,Infinity
및undefined
global 객체는 읽기 전용이 되었습니다, ECMAScript 5 스펙에 따라. obj.__parent__
및obj.__count__
는 폐기(obsolete)되었습니다. 이유에 대한 일부 정보: SpiderMonkey change du jour: the special __parent__ property has been removed bug 551529 & bug 552560.- 후행(trailing) 쉼표는
JSON.parse()
에서 더 이상 허용되지 않습니다.