Przejdź do treści

Lista właściwości obiektu w JavaScript - getOwnPropertyNames

Jak pobrać listę nazw wszystkich właściwości, które posiada obiekt?

(interpretuje: Internet Explorer 9, Firefox 4, Opera 12, Chrome)

Object.getOwnPropertyNames(O)
Parametry:
O - obiekt, którego właściwości mają zostać pobrane
Wartość:
Array - lista nazw wszystkich właściwości obiektu
Wyjątki:
TypeError - wartość O nie jest obiektem

Zwraca listę nazw wszystkich właściwości obiektu - w tym normalnie niedostępnych w pętli for-in [zobacz: Object.defineProperty - enumerable]. Nie uwzględnia właściwości przejętych z prototypu, a jedynie bezpośrednio przypisane do obiektu.

Przykład Object.getOwnPropertyNames

Object.getOwnPropertyNames({p: 1}); // ["p"]
Object.getOwnPropertyNames({});     // []
 
var obj = {};
Object.defineProperty(obj, "p", {enumerable: false});
Object.getOwnPropertyNames(obj);    // ["p"]
 
var Cls = function () {
    this.p = 1;
};
Cls.prototype.m = function () {};
obj = new Cls();
Object.getOwnPropertyNames(obj);    // ["p"]
 
Object.getOwnPropertyNames(true);   // TypeError
Object.getOwnPropertyNames(1);      // TypeError
Object.getOwnPropertyNames("test"); // TypeError
Object.getOwnPropertyNames(null);   // TypeError

Komentarze

Zobacz więcej komentarzy

Facebook