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