Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Далее приведён список изменений в JavaScript 1.8.5. Эта версия была включена в Firefox 4.

Что нового в JavaScript 1.8.5

Новые функции

Функция Описание
Object.create() Создаёт новый обЪект с указанным прототипом и свойствами. баг 492840
Object.defineProperty() Добавляет свойство с переданным дескриптором к объекту.
Object.defineProperties() Добавляет свойства с переданными дескрипторами к объекту.
Object.getOwnPropertyDescriptor() Возвращает дескриптор свойства переданного объекта. баг 505587
Object.keys() Возвращает массив всех перечисляемых свойств объекта. баг 307791
Object.getOwnPropertyNames() Возвращает массив всех перечисляемых и не перечисляемых свойств объекта. баг 518663
Object.preventExtensions() Предотвращает любые расширения объекта. баг 492849
Object.isExtensible() Определяет, разрешено ли расширение объекта. баг 492849
Object.seal() Запрещает остальному коду удаление свойств объекта баг 492845
Object.isSealed() Определяет, запрещено ли удаление свойств объекта. баг 492845
Object.freeze() Замораживает объект: остальной код не может удалять или изменять значения его свойств. баг 492844
Object.isFrozen() Определяет, был ли объект заморожен. баг 492844
Array.isArray() Проверяет, является ли переменная массивом. баг 510537
Date.prototype.toJSON() Возвращает строку в формате JSON для объекта Date.
Function.prototype.bind() Метод bind() создаёт новую функцию, которая при вызове устанавливает в качестве контекста выполнения this предоставленное значение. В метод также передаётся набор аргументов, которые будут установлены перед переданными в привязанную функцию аргументами при её вызове.баг 429507

Новые возможности ECMAScript5

  • get и set операторы теперь позволяют идентификатору быть строкой или числом. баг 520696
  • Function.apply() может принимать в качестве списка аргументов не только настоящие массивы, но и подобные массивам объекты.
  • strict mode support
  • Array.toString() теперь работает не только на массивах, возвращая либо результат вызова join() , если он доступен, либо вызова  toString().

Другая работа по стандартизации

Различные нестандартизованные синтаксические конструкции задания геттеров/сеттеров были удалены; Определенный в  ECMAScript 5 синтаксис изменениям не подвергся. Все они были несколько "эзотерическими" и довольно редко использовались на практике; если эти изменения Вас затронули, прочтите эту статью.

Новые объекты

Объект Описание
Proxy Предлагает поддержку при создании Object и Function прокси, что позволяет использовать метапрограммирование на JavaScript.

Функциональность, изменённая в JavaScript 1.8.5

  • ISO 8601 поддерживается в Date: метод parse() объекта Date  теперь допускает использование формата  ISO 8601 для строкового представления даты.
  • Глобальные объекты стали доступны "только для чтения": глобальные объекты NaN, Infinity, и undefined теперь доступны только для чтения по спецификации ECMAScript 5.
  • obj.__parent__ и obj.__count__ устарели. Больше информации, почему это произошло: SpiderMonkey change du jour: the special __parent__ property has been removed баг 551529 & баг 552560.
  • JSON.parse() больше не допускает использование конечных запятых.

Метки документа и участники

Внесли вклад в эту страницу: mountpoint, MagicMight, RokkerRuslan, MichaelBag, fscholz, teoli, yuraantonov
Обновлялась последний раз: mountpoint,