Konstruktor Object tworzy wrapper obiektu.
Sk艂adnia
// Notacja litera艂owa
{ [ paraWartoscNazwa1[, paraWartoscNazwa2[, ...paraWartoscNazwaN] ] ] }
// Wywo艂ywany jako konstruktor
new Object([wartosc])
Parametry
paraWartoscNazwa1, paraWartoscNazwa2, ... paraWartoscNazwaN
- Pary nazw (string) oraz warto艣ci (jakakolwiek warto艣膰) przyczym nazwa oddzielona jest od warto艣ci dwukropkiem.
wartosc
- Jakakolwiek warto艣膰.
Opis
Kostruktor obiektu tworzy wrapper dla danej warto艣ci. Je偶eli podana warto艣膰 to null
albo undefined
, konstruktor stworzy i zwr贸ci pusty obiekt. W przeciwnym razie stworzy i zwr贸ci obiekt o takim samym typie jak podana warto艣膰. Je偶eli podana warto艣膰 jest obiektem to konstruktor zwr贸ci ten w艂a艣nie obiekt.
Zobacz r贸wnie偶 Inicjator obiektu / notacja litera艂owa.
W艂a艣ciwo艣ci
Object.length
- Przyjmuje warto艣膰 1.
Object.prototype
- Pozwala na dodawanie w艂a艣ciwo艣ci i metod do wszystkich obiekt贸w typu Object.
Metody
Object.assign()
- Kopiuje wszystkie w艂asne w艂a艣ciwo艣ci z jednego lub wi臋cej obiekt贸w 偶r贸d艂owych do obiektu docelowego.
Object.create()
- Tworzy nowy obiekt z podanym prototypem oraz w艂a艣ciwo艣ciami
Object.defineProperty()
- Dodaje do obiektu wymienion膮 w艂a艣ciwo艣膰 opisywan膮 przez podany deskryptor.
Object.defineProperties()
- Dodaje do obiektu wymienione w艂a艣ciwo艣ci opisywane przez podane deskryptory.
Object.freeze()
- Zamra偶a obiekt. Uniemo偶liwia usuwanie oraz modyfikowanie jego w艂a艣ciwo艣ci.
Object.getOwnPropertyDescriptor()
- Zwraca z obiektu deskryptor dla wymienionej w艂a艣ciwo艣ci.
Object.getOwnPropertyNames()
- Zwraca tablic臋 zawieraj膮c膮 nazwy wszystkich w艂asnych w艂a艣ciwo艣ci obiektu. (Zar贸wno przeliczalnych jak i nieprzeliczalnych)
Object.getOwnPropertySymbols()
- Zwraca tablic臋 zawieraj膮c膮 wszystkie w艂asne w艂a艣ciwo艣ci-symbole danego obiektu
Object.getPrototypeOf()
- Zwraca prototyp okre艣lonego obiektu.
Object.is()
- Sprawdza czy dwie podane warto艣ci s膮 takie same.
Object.isExtensible()
- Sprawdza czy obiekt mo偶na rozszerzy膰.
Object.isFrozen()
- Sprawdza czy obiekt jest zamro偶ony.
Object.isSealed()
- Sprawdza czy obiekt jest zapiecz臋towany.
Object.keys()
- Zwraca tablic臋 zawieraj膮c膮 nazwy wszystkich w艂asnych w艂a艣ciwo艣ci obiektu. (Tylko przeliczalnych)
Object.preventExtensions()
- Zabopiega rozszerzaniu obiektu (tj. dodawaniu w艂a艣ciwo艣ci).
Object.seal()
- Zapiecz臋towuje obiekt, zapobiegaj膮c dodawaniu oraz usuwaniu jego w艂a艣ciwo艣ci.
Object.setPrototypeOf()
- Ustawia prototyp obiektu.
Object.values()
- Zwraca tablic臋 zawieraj膮c膮 wszystkie w艂asne, przeliczalne warto艣ci obiektu.
Instancje i prototyp Object
W Javascript, wsyzstkie obiekty pochodz膮 od obiektu Object
, tymsamym dziedzicz膮 metody i w艂a艣ciwo艣ci z Object.prototype
, jednak mog膮 by膰 one nadpisane. Na przyk艂ad, prototypy innych konstruktor贸w nadpisuj膮 w艂a艣ciwo艣膰 constructor
oraz metody toString
()
. Wszelkie zmiany w prototypie Object
s膮 przekazywane do wszystkich obiekt贸w, chyba 偶e w艂a艣ciwo艣ci lub metody do kt贸rych zmiany si臋 odno艣i艂y zosta艂y gdzie艣 po drodze nadpisane.
W艂a艣ciwo艣ci
Object.prototype.constructor
- Okre艣la konstruktor obiektu - funkcj臋, kt贸ra tworzy prototyp obiektu.
Object.prototype.__proto__
- Wskazuje na obiekt kt贸ry by艂 u偶yty jako prototyp, kiedy dany obiekt by艂 inicjalizowany.
Object.prototype.__noSuchMethod__
- Pozwala zdefiniowa膰 funkcj臋, kt贸ra b臋dzie wykonana kiedy niezdefiniowany element obiektu zostanie wywo艂any jako metoda.
Object.prototype.__count__
W艂asno艣膰 zwraca艂a liczb臋 w艂a艣ciwo艣ci tzw. enumerable posiadanych przez zdefiniowany przez u偶ytkownika obiekt. W艂asno艣膰 ta zosta艂a usuni臋ta.Object.prototype.__parent__
By艂a u偶ywana do wskazywania kontwkstu obiektu.W艂asno艣膰 ta zosta艂a usuni臋ta.
Metody
Object.prototype.__defineGetter__()
- Przypisuje funkcj臋 do pola, do kt贸rego odwo艂anie wywo艂a t臋 funkcj臋, kt贸ra zwr贸ci odpowiedni膮 warto艣膰.
Object.prototype.__defineSetter__()
- Przypisuje funkcj臋 do pola, kt贸rego ustawienie wywo艂a t臋 funkcj臋, kt贸ra zmodyfikuje warto艣膰 pola.
Object.prototype.__lookupGetter__()
- Zwraca funkcj臋 powi膮zan膮 z danym polem poprzez metod臋
__defineGetter__
. Object.prototype.__lookupSetter__()
- Zwraca funkcj臋 powi膮zan膮 z danym polem poprzez metod臋
__defineSetter__
. Object.prototype.hasOwnProperty()
- Zwraca warto艣膰 boolean wskazuj膮c膮 czy obiekt posiada dane pole (wykluczaj膮c przypadki, gdy pole jest odziedziczone).
Object.prototype.isPrototypeOf()
- Zwraca warto艣膰 boolean wskazuj膮c膮 czy dany obiekt znajduje si臋 w 艂a艅cuchu prototyp贸w obiektu podanego jako parametr funkcji.
Object.prototype.propertyIsEnumerable()
- Zwraca warto艣膰 boolean wskazuj膮c膮 czy ustawiony jest atrybut ECMAScript DontEnum attribute.
Object.prototype.toSource()
- Zwraca litera艂 obiektowy reprezentuj膮cy dany obiekt; mo偶na go u偶y膰 do utworzenia nowego obiektu.
Object.prototype.toLocaleString()
- Wywo艂uje
toString()
. Object.prototype.toString()
- Zwraca 艂a艅cuch znak贸w reprezentuj膮cy dany obiekt.
Object.prototype.unwatch()
- Usuwa funkcj臋 monitoruj膮c膮 dan膮 w艂asno艣膰 obiektu.
Object.prototype.valueOf()
- Zwraca warto艣膰 prost膮 danego obiektu.
Object.prototype.watch()
- Dodaje funkcj臋 monitoruj膮c膮 dan膮 w艂asno艣膰 obiektu.
Object.prototype.eval()
Wykonuje kod JavaScriptu zawarty w 艂a艅cuchu znak贸w w kontek艣cie danego obiektu.
Przyk艂ady
U偶ywanie typ贸w null i undefined
W poni偶szych przyk艂adach zmienna o przechowuje pusty obiekt Object
:
var o = new Object();
var o = new Object(undefined);
var o = new Object(null);
Tworzenie obiektu Boolean
W poni偶szych przyk艂adach zmienna o przechowuje obiekty Boolean
:
// r贸wnoznaczne z: o = new Boolean(true);
var o = new Object(true);
// r贸wnoznaczne z: o = new Boolean(false);
var o = new Object(Boolean());
Specyfikacje
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Pocz膮tkowa definicja. Zaimplementowana w 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 | Dodano Object.assign, Object.getOwnPropertySymbols, Object.setPrototypeOf, Object.is |
ECMAScript Latest Draft (ECMA-262) The definition of 'Object' in that specification. |
Draft | Dodano Object.entries, Object.values oraz Object.getOwnPropertyDescriptors. |
Kompatybilno艣膰 z przegl膮dark膮
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) |