Object

Ця стаття потребує редакційного огляду. Як ви можете допомогти.

Конструктор Object створює оболонку об'єкта.

Синтаксис

// Ініціалізатор об'єктів або літерал
{ [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] }

// Викликається як конструктор
new Object([value])

Параметри

nameValuePair1, nameValuePair2, ... nameValuePairN
Пари імен (рядків) і значення (будь-яке значення), де ім'я відділяється від значення двокрапкою.
value
Будь-яке значення.

Опис

Конструктор Object створює оболонку об'єкта для заданного значення. Якщо значення є null або undefined, конструктор створює і повертає порожній об'єкт, в іншому випадку, він створює об'єкт Типу, що відповідає заданному значенню. Якщо значення вже є об'єктом , то конструктор поверне значення.

Коли визваний не в контексті конструктора, Object поводиться ідентично до new Object().

Дивись також object initializer / literal syntax.

Властивості конструктора Object 

Object.length
Має значення 1.
Object.prototype
Дозволяє додавати властивості до всіх об'єктів типу Object.

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

Object.assign()
Створює новий об'єкт шляхом копіювання значення всіх перелічуваних власних властивостей з одного або декількох вихідних об'єктів до цільового об'єкту.
Object.create()
Створює новий об'єкт із зазначеним прототипним об'єктом і властивостями.
Object.defineProperty()
Додає зазначену властивість, описану данним дескриптором, до об'єкта.
Object.defineProperties()
Додає зазначені властивості, описані данним дескриптором, до об'єкта.
Object.entries()
Повертає масив перелічуваних властивостей [key, value] пари данного  об'єкта.
Object.freeze()
Заморожує об'єкт: інший код не може видаляти або змінювати будь-які властивості.
Object.getOwnPropertyDescriptor()
Повертає дескриптор властивості для зазначенної властивості об'єкта.
Object.getOwnPropertyDescriptors()
Повертає об'єкт, що містить всі власні дескриптори властивостей для об'єкта.
Object.getOwnPropertyNames()
Повертає масив, що містить імена всіх власних перелічуваних і неперелічуванних властивостей даного об'єкта.
Object.getOwnPropertySymbols()
Повертає масив всіх символьних властивостей, знайденних безпосередньо на даному об'єкті.
Object.getPrototypeOf()
Повертає прототип зазначеного об'єкта.
Object.is()
Порівнює чи мають два значення відмінності (тобто чи вони співпадають).
Object.isExtensible()
Визначає чи допускається розширення об'єкта.
Object.isFrozen()
Визначає чи був об'єкт замороженим.
Object.isSealed()
Визначає чи був об'єкт запечатанним.
Object.keys()
Повертає масив, що містить імена всіх власних перелічуваних властивостей даного об'єкта.
Object.preventExtensions()
Запобігає будь-яким розширенням об'єкта.
Object.seal()
Запобігає іншому коду видаляти властивості об'єкта.
Object.setPrototypeOf()
Встановлює прототип (тобто, внутрішній [[Prototype]] об'єкта).
Object.values()
Повертає масив власних перелічуваних значень даного об'єкта.

Екземпляри Object та об'єкт-прототип Object 

Всі об'єкти в JavaScript є нащадками Object; всі об'єкти успадковують властивості і методи від Object.prototype, хоча вони можуть бути перевизначені. Наприклад, прототипи інших конструкторів перевизначають властивість constructor і надають свої власні toString() методи. Зміни об'єкта прототипу Object поширюються на всі об'єкти, хіба тільки властивості і методи, що піддані зміні, не будуть перезаписані далі по ланцюжку прототипів. 

Властивості

Визначає функцію, яка створює прототип об'єкта.
Object.prototype.__proto__ 
Вказує на об'єкт, який був використаний в якості прототипу, коли об'єкт був інстанціюваний.
Object.prototype.__noSuchMethod__ 
Дозволяє визначати функцію, що буде виконуватися, коли невизначений член об'єкта викликається як метод.
Object.prototype.__count__ 
Використовувалася для повернення числа перелічуваних властивостей беспосередньо для об'єкта, створеного користувачем, але була видалена.
Object.prototype.__parent__ 
Використовувалася, щоб вказати на контекст об'єкта, але була видалена.

Методи

Object.prototype.__defineGetter__()  
Пов'язує функцію з властивістю, що при зверненні до неї, виконує цю функцію і повертає її значення.
Object.prototype.__defineSetter__()  
Пов'язує функцію з властивістю, яка при установці, виконує ту функцію, що змінює властивість.
Object.prototype.__lookupGetter__()  
Повертає функцію, пов'язану із зазначеною властивістю за допомогою методу __defineGetter__() .
Object.prototype.__lookupSetter__()  
Повертає функцію, пов'язану із зазначеною властивістю за допомогою методу __defineSetter__().
Object.prototype.hasOwnProperty()
Повертає значення boolean, яке вказує, чи містить об'єкт зазначену властивість, як пряму властивість цього об'єкта і не успадковану через ланцюжок прототипів.
Object.prototype.isPrototypeOf()
Повертає значення boolean, яке вказує, чи зазначений об'єкт знаходиться в ланцюзі прототипів об'єкта, для якого був викликаний цей метод.
Object.prototype.propertyIsEnumerable()
Повертає значення boolean, яке вказує внутрішній ECMAScript [[Enumerable]] attribute встановлено.
Object.prototype.toSource() 
Повертає рядок, що містить джерело літерала об'єкта, що представляє об'єкт, для якого цей метод викликається; може бути використаний створення нового об'єкта.
Object.prototype.toLocaleString()
Викликає toString().
Object.prototype.toString()
Повертає строкове представлення об'єкту.
Object.prototype.unwatch() 
Видаляє точку спостереження з властивості об'єкта.
Object.prototype.valueOf()
Повертає елементарне значення заданого об'єкта.
Object.prototype.watch() 
Додає точку спостереження до властивості об'єкта.
Object.prototype.eval() 
Використовувався для виконання рядка коду JavaScript в контексті зазначеного об'єкта, але був видалений.

Приклади

Використання Object з типами undefined та null

Наступні приклади зберігають порожній об'єкт Object в obj:

var obj = new Object();
var obj = new Object(undefined);
var obj = new Object(null);

Використання Object для створення Boolean об'єктів

Наступні приклади зберігають Boolean об'єкти в obj:

// еквівалентно до obj = new Boolean(true);
var obj = new Object(true);
// еквівалентно до = new Boolean(false);
var obj = new Object(Boolean());

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

Специфікація Статус Коментар
ECMAScript 1st Edition (ECMA-262) Standard Первісне визначення. Реалізовано в JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
The definition of 'Object' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Object' in that specification.
Standard  Додано Object.assign, Object.getOwnPropertySymbols, Object.setPrototypeOf, Object.is
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Object' in that specification.
Draft Додано Object.entries, Object.values and Object.getOwnPropertyDescriptors.

Сумісність з браузерами

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Дивись також

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

 Зробили внесок у цю сторінку: Sestri4kina, Natalya_Surikova
 Востаннє оновлена: Sestri4kina,