Object

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

Синтаксис

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

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

Параметри

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

Опис

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

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

Дивіться також статтю Ініціалізація об'єктів / літеральний синтаксис.

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

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

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

Object.assign()
Копіює значення усіх перелічуваних особистих властивостей з одного або більше об'єктів у цільовий об'єкт.
Object.create()
Створює новий об'єкт із вказаним прототипним об'єктом і властивостями.
Object.defineProperty()
Додає зазначену властивість, описану наданим дескриптором, до об'єкта.
Object.defineProperties()
Додає зазначені властивості, описані наданими дескрипторами, до об'єкта.
Object.entries()
Повертає масив, що містить усі пари [key, value] особистих перелічуваних рядкових властивостей данного  об'єкта.
Object.freeze()
Заморожує об'єкт: інший код не може видаляти або змінювати будь-які властивості.
Object.fromEntries()
Повертає новий об'єкт з ітерабельного об'єкта, що містить пари ключ-значення (зворотний до Object.entries).
Object.getOwnPropertyDescriptor()
Повертає дескриптор властивості для зазначенної властивості об'єкта.
Object.getOwnPropertyDescriptors()
Повертає об'єкт, що містить дескриптори всіх особистих властивостей об'єкта.
Object.getOwnPropertyNames()
Повертає масив, що містить імена всіх особистих перелічуваних і неперелічуванних властивостей даного об'єкта.
Object.getOwnPropertySymbols()
Повертає масив усіх символьних властивостей, знайдених безпосередньо на даному об'єкті.
Object.getPrototypeOf()
Повертає прототип вказаного об'єкта.
Object.is()
Перевіряє, чи мають два аргументи однакове значення. Прирівнює усі значення NaN (що відрізняється як від абстрактної рівності, так і від строгої рівності).
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.constructor
Вказує функцію, яка створила прототип об'єкта.
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()
Повертає булеве значення, що вказує, чи об'єкт містить вказану властивість як особисту властивість цього об'єкта, а не успадковану через ланцюжок прототипів.
Object.prototype.isPrototypeOf()
Повертає булеве значення, що вказує, чи присутній об'єкт, на якому викликається цей метод, у ланцюжку прототипів вказаного об'єкта.
Object.prototype.propertyIsEnumerable()
Повертає булеве значення, що вказує, чи встановлений внутрішній атрибут ECMAScript [[Enumerable]].
Object.prototype.toSource()
Повертає рядок, який містить першокод об'єктного літералу, що відображає об'єкт, на якому був викликаний цей метод; ви можете скористатись цим значенням, щоб створити новий об'єкт.
Object.prototype.toLocaleString()
Викликає toString().
Object.prototype.toString()
Повертає рядок, що відображає об'єкт.
Object.prototype.unwatch()
Прибирає точку спостереження з властивості об'єкта.
Object.prototype.valueOf()
Повертає просту величину вказаного об'єкта.
Object.prototype.watch()
Додає точку спостереження до властивості об'єкта.
Object.prototype.eval()
Обчислював рядок коду JavaScript у контексті вказаного об'єкта, але був прибраний.

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

У самого об'єкта не існує жодного методу для видалення своїх властивостей (такого як Map.prototype.delete()). Щоб зробити це, необхідно скористатись оператором delete.

Приклади

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

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

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

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

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

// еквівалентно до o = new Boolean(true);
var o = new Object(true);
// еквівалентно до o = new Boolean(false);
var o = 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 Latest Draft (ECMA-262)
The definition of 'Object' in that specification.
Draft Додано Object.entries, Object.values and Object.getOwnPropertyDescriptors.

Сумісність з веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
ObjectChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
assignChrome Full support 45Edge Full support 12Firefox Full support 34IE No support NoOpera Full support 32Safari Full support 9WebView Android Full support 45Chrome Android Full support 45Firefox Android Full support 34Opera Android Full support 32Safari iOS Full support YesSamsung Internet Android Full support 5.0nodejs Full support 4.0.0
constructorChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
__count__
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No
createChrome Full support 5Edge Full support 12Firefox Full support 4IE Full support 9Opera Full support 11.6Safari Full support 5WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support 12Safari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
__defineGetter__
Deprecated
Chrome Full support 1Edge Full support 12Firefox Full support 1
Notes
Full support 1
Notes
Notes Starting with Firefox 48, this method can no longer be called at the global scope without any object. A TypeError will be thrown otherwise. Previously, the global object was used in these cases automatically, but this is no longer the case.
IE Full support 11Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
definePropertiesChrome Full support 5Edge Full support 12Firefox Full support 4IE Full support 9Opera Full support 11.6Safari Full support 5WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support 12Safari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
definePropertyChrome Full support 5Edge Full support 12Firefox Full support 4IE Full support 9
Notes
Full support 9
Notes
Notes Also supported in Internet Explorer 8, but only on DOM objects and with some non-standard behaviors.
Opera Full support 11.6Safari Full support 5.1
Notes
Full support 5.1
Notes
Notes Also supported in Safari 5, but not on DOM objects.
WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support 12Safari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
__defineSetter__
Deprecated
Chrome Full support 1Edge Full support 12Firefox Full support 1
Notes
Full support 1
Notes
Notes Starting with Firefox 48, this method can no longer be called at the global scope without any object. A TypeError will be thrown otherwise. Previously, the global object was used in these cases automatically, but this is no longer the case.
IE Full support 11Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
entriesChrome Full support 54Edge Full support 14Firefox Full support 47IE No support NoOpera Full support 41Safari Full support 10.1WebView Android Full support 54Chrome Android Full support 54Firefox Android Full support 47Opera Android Full support 41Safari iOS Full support 10.3Samsung Internet Android Full support 6.0nodejs Full support 7.0.0
Full support 7.0.0
Full support 6.5.0
Disabled
Disabled From version 6.5.0: this feature is behind the --harmony runtime flag.
eval
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No
freezeChrome Full support 6Edge Full support 12Firefox Full support 4IE Full support 9Opera Full support 12Safari Full support 5.1WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
fromEntriesChrome Full support 73Edge No support NoFirefox Full support 63IE No support NoOpera Full support 60Safari Full support 12.1WebView Android Full support 73Chrome Android Full support 73Firefox Android Full support 63Opera Android No support NoSafari iOS Full support 12.2Samsung Internet Android No support Nonodejs Full support 12.0.0
getNotifier
DeprecatedNon-standard
Chrome No support 36 — 52Edge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No
getOwnPropertyDescriptorChrome Full support 5Edge Full support 12Firefox Full support 4IE Full support 8Opera Full support 12Safari Full support 5WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
getOwnPropertyDescriptorsChrome Full support 54Edge Full support 15Firefox Full support 50IE No support NoOpera Full support 41Safari Full support 10WebView Android Full support 54Chrome Android Full support 54Firefox Android Full support 50Opera Android ? Safari iOS ? Samsung Internet Android Full support 6.0nodejs Full support 7.0.0
Full support 7.0.0
Full support 6.5.0
Disabled
Disabled From version 6.5.0: this feature is behind the --harmony runtime flag.
getOwnPropertyNamesChrome Full support 5Edge Full support 12Firefox Full support 4IE Full support 9Opera Full support 12Safari Full support 5WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
getOwnPropertySymbolsChrome Full support 38Edge Full support 12Firefox Full support 36IE No support NoOpera Full support 25Safari Full support 9WebView Android Full support 38Chrome Android Full support 38Firefox Android Full support 36Opera Android Full support 25Safari iOS Full support 9Samsung Internet Android Full support 3.0nodejs Full support 0.12
getPrototypeOfChrome Full support 5Edge Full support 12Firefox Full support 3.5IE Full support 9Opera Full support 12.1Safari Full support 5WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
hasOwnPropertyChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 5.5Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
isChrome Full support 30Edge Full support 12Firefox Full support 22IE No support NoOpera Full support YesSafari Full support 9WebView Android Full support YesChrome Android Full support 30Firefox Android Full support 22Opera Android Full support YesSafari iOS Full support 9Samsung Internet Android Full support Yesnodejs Full support 0.10
isExtensibleChrome Full support 6Edge Full support 12Firefox Full support 4IE Full support 9Opera Full support 12Safari Full support 5.1WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
isFrozenChrome Full support 6Edge Full support 12Firefox Full support 4IE Full support 9Opera Full support 12Safari Full support 5.1WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
isPrototypeOfChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 9Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
isSealedChrome Full support 6Edge Full support 12Firefox Full support 4IE Full support 9Opera Full support 12Safari Full support 5.1WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
keysChrome Full support 5Edge Full support 12Firefox Full support 4IE Full support 9Opera Full support 12Safari Full support 5WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
__lookupGetter__
Deprecated
Chrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 11Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
__lookupSetter__
Deprecated
Chrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 11Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
__noSuchMethod__
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support 1 — 43IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support 4 — 43Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No
observe
DeprecatedNon-standard
Chrome No support 36 — 52Edge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No
__parent__
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No
preventExtensionsChrome Full support 6Edge Full support 12Firefox Full support 4IE Full support 9Opera Full support 12Safari Full support 5.1WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
propertyIsEnumerableChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 5.5Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
__proto__
Deprecated
Chrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 11Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
prototypeChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
sealChrome Full support 6Edge Full support 12Firefox Full support 4IE Full support 9Opera Full support 12Safari Full support 5.1WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
setPrototypeOfChrome Full support 34Edge Full support 12Firefox Full support 31IE Full support 11Opera Full support YesSafari Full support 9WebView Android Full support 37Chrome Android Full support 34Firefox Android Full support 31Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support 0.12
toLocaleStringChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 5.5Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
toSource
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 1IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 4Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No
toStringChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
unobserve
DeprecatedNon-standard
Chrome No support 36 — 52Edge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No
unwatch
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support 1 — 58IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support 4 — 58Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No
valueOfChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes
valuesChrome Full support 54Edge Full support 14Firefox Full support 47IE No support NoOpera Full support 41Safari Full support 10.1WebView Android Full support 54Chrome Android Full support 54Firefox Android Full support 47Opera Android Full support 41Safari iOS Full support 10.3Samsung Internet Android Full support 6.0nodejs Full support 7.0.0
Full support 7.0.0
Full support 6.5.0
Disabled
Disabled From version 6.5.0: this feature is behind the --harmony runtime flag.
watch
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support 1 — 58IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support 4 — 58Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.

Дивіться також