Object

Сводка

Конструктор Object создаёт объект-обёртку.

Синтаксис

// Инициализатор объекта или литерал
{ [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] }

// Вызов в качестве конструктора
new Object([value])

Параметры

nameValuePair1, nameValuePair2, ... nameValuePairN

Пары из имён (строки) и значений (любые значения), где имя отделяется от значения двоеточием.

value

Любое значение.

Описание

Конструктор Object создаёт объект-обёртку для переданного значения. Если значением является null или undefined, создаёт и возвращает пустой объект, в противном случае возвращает объект такого типа, который соответствует переданному значению. Если значение уже является объектом, конструктор вернёт это значение.

При вызове в не-конструктором контексте, Object ведёт себя идентично коду new Object().

Так же смотрите синтаксис инициализатора объекта / литеральный синтаксис.

Свойства конструктора Object

Object.length

Имеет значение 1.

Object.prototype (en-US)

Позволяет добавлять свойства ко всем объектам типа Object.

Методы конструктора Object

Object.assign()

Создаёт новый объект путём копирования значений всех собственных перечислимых свойств из одного или более исходных объектов в целевой объект.

Object.create()

Создаёт новый объект с указанными объектом прототипа и свойствами.

Object.defineProperty()

Добавляет к объекту именованное свойство, описываемое переданным дескриптором.

Object.defineProperties()

Добавляет к объекту именованные свойства, описываемые переданными дескрипторами.

Object.freeze()

Замораживает объект: другой код не сможет удалить или изменить никакое свойство.

Object.getOwnPropertyDescriptor()

Возвращает дескриптор свойства для именованного свойства объекта.

Object.getOwnPropertyNames()

Возвращает массив, содержащий имена всех переданных объекту собственных перечисляемых и неперечисляемых свойств.

Object.getOwnPropertySymbols()

Возвращает массив всех символьных свойств, найденных непосредственно в переданном объекте.

Object.getPrototypeOf()

Возвращает прототип указанного объекта.

Object.is()

Определяет, являются ли два значения различимыми (то есть, одинаковыми)

Object.isExtensible()

Определяет, разрешено ли расширение объекта.

Object.isFrozen()

Определяет, был ли объект заморожен.

Object.isSealed()

Определяет, является ли объект запечатанным (sealed).

Object.keys()

Возвращает массив, содержащий имена всех собственных перечислимых свойств переданного объекта.

Object.observe()

Асинхронно наблюдает за изменениями в объекте.

Object.preventExtensions()

Предотвращает любое расширение объекта.

Object.seal()

Предотвращает удаление свойств объекта другим кодом.

Object.setPrototypeOf()

Устанавливает прототип (т.е. внутреннее свойство [[Prototype]])

Экземпляры и прототип объекта Object

Все объекты в JavaScript являются потомками Object; все объекты наследуют методы и свойства из прототипа объекта Object.prototype (en-US), хотя они и могут быть переопределены. Например, прототипы других конструкторов переопределяют свойство constructor и предоставляют свои собственные методы toString(). Изменения в объекте прототипа Object распространяются на все объекты до тех пор, пока свойства и методы, учитывающие эти изменения, не переопределяются дальше по цепочке прототипов.

Свойства

Object() (en-US)

Превращает входные данные в объект.

Object.prototype.constructor

Указывает функцию, которая создает прототип объекта.

Object.prototype.__proto__ Устарело

Указывает на объект, который использовался в качестве прототипа при создании экземпляра объекта.

Методы

Object.prototype.__defineGetter__()

Связывает функцию со свойством, которое при обращении к нему выполняет эту функцию и возвращает ее возвращаемое значение.

Object.prototype.__defineSetter__()

Связывает функцию со свойством, которое при установке выполняет ту функцию, которая изменяет свойство.

Object.prototype.__lookupGetter__()

Возвращает функцию, привязанную в качестве средства получения к указанному свойству.

Object.prototype.__lookupSetter__()

Возвращает функцию, привязанную в качестве установщика к указанному свойству.

Object.prototype.hasOwnProperty()

Возвращает логическое значение, указывающее, содержит ли объект указанное свойство как прямое свойство этого объекта, а не унаследованное через цепочку прототипов.

Object.prototype.isPrototypeOf()

Возвращает логическое значение, указывающее, содержит ли объект указанное свойство как прямое свойство этого объекта, а не унаследованное через цепочку прототипов.

Object.prototype.propertyIsEnumerable()

Возвращает логическое значение, указывающее, является ли указанное свойство свойством объекта enumerable own.

Object.prototype.toLocaleString()

Вызывает toString().

Object.prototype.toString()

Возвращает строковое представление объекта.

Object.prototype.valueOf()

Возвращает примитивное значение указанного объекта.

Примеры

Пример: использование Object с типами undefined и null

Следующие примеры сохраняют пустой объект Object в переменную o:

const o = new Object();
const o = new Object(undefined);
const o = new Object(null);

Пример: использование Object для создания объектов Boolean

Следующий пример сохраняет объекты Boolean в переменную o:

// эквивалентно o = new Boolean(true);
const o = new Object(true);
// эквивалентно o = new Boolean(false);
const o = new Object(Boolean());

Спецификации

Specification
ECMAScript Language Specification
# sec-object-objects

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также