Object
        
        
          
                Baseline
                
                  Widely available
                
                 *
              
        
        
        
          
                
              
                
              
                
              
        
        
      
      This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
* Some parts of this feature may have varying levels of support.
Тип Object представляет один из типов данных JavaScript. Он используется для хранения различных коллекций с ключами и более сложных сущностей. Объекты могут быть созданы с использованием конструктора Object() или синтаксиса инициализатора / литерала объекта.
Описание
Почти все объекты в JavaScript являются экземплярами Object; типичный объект наследует свойства (включая методы) от Object.prototype, хотя эти свойства могут быть затенены (т.е. переопределены). Единственные объекты, которые не наследуют от Object.prototype, - это те, у которых прототип null, или которые происходят от других объектов с прототипом null.
Изменения в объекте Object.prototype видны всем объектам с помощью цепочки прототипов, если свойства и методы, подверженные этим изменениям, не переопределены дальше по цепочке прототипов. Это предоставляет очень мощный, хотя и потенциально опасный механизм для переопределения или расширения поведения объектов. Для обеспечения большей безопасности, Object.prototype - единственный объект в основном языке JavaScript, у которого неизменяемый прототип - прототип Object.prototype всегда null и не может быть изменен.
Синтаксис
// Инициализатор объекта или литерал
{ [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] }
// Вызов в качестве конструктора
new Object([value])
Параметры
nameValuePair1, nameValuePair2, ... nameValuePairN- 
Пары из имён (строки) и значений (любые значения), где имя отделяется от значения двоеточием.
 value- 
Любое значение.
 
Свойства конструктора Object
    Object.length- 
Имеет значение 1.
 Object.prototype- 
Позволяет добавлять свойства ко всем объектам типа
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, хотя они и могут быть переопределены. Например, прототипы других конструкторов переопределяют свойство constructor и предоставляют свои собственные методы toString(). Изменения в объекте прототипа Object распространяются на все объекты до тех пор, пока свойства и методы, учитывающие эти изменения, не переопределяются дальше по цепочке прототипов.
Свойства
Object()- 
Превращает входные данные в объект.
 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® 2026 Language Specification> # sec-object-objects>  | 
            
Совместимость с браузерами
Loading…