--- title: Object.getOwnPropertySymbols() slug: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertySymbols tags: - ECMAScript6 - Experimental - Expérimental(2) - JavaScript - Method - Object translation_of: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertySymbols ---
Метод Object.getOwnPropertySymbols()
возвращает массив всех символьных свойств, найденных непосредственно на переданном объекте.
{{EmbedInteractiveExample("pages/js/object-getownpropertysymbols.html")}}
Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте https://github.com/mdn/interactive-examples и отправьте нам запрос на извлечение.
Object.getOwnPropertySymbols(obj)
obj
Массив всех свойств символа, найденных прямо на данном объекте.
Подобно методу {{jsxref("Object.getOwnPropertyNames()")}}, вы можете получить все символьные свойства указанного объекта в качестве массива символов. Обратите внимание, что метод {{jsxref("Object.getOwnPropertyNames()")}} сам не возвращает символьные свойства объекта, он возвращает только строковые свойства.
Поскольку изначально никакой объект не содержит собственных символьных свойств, метод Object.getOwnPropertySymbols()
будет возвращать пустой массив, пока вы не установите символьные свойства на вашем объекте.
var obj = {}; var a = Symbol('a'); var b = Symbol.for('b'); obj[a] = 'localSymbol'; obj[b] = 'globalSymbol'; var objectSymbols = Object.getOwnPropertySymbols(obj); console.log(objectSymbols.length); // 2 console.log(objectSymbols); // [Symbol(a), Symbol(b)] console.log(objectSymbols[0]); // Symbol(a)
Спецификация | Статус | Комментарии |
---|---|---|
{{SpecName('ES6', '#sec-object.getownpropertysymbols', 'Object.getOwnPropertySymbols')}} | {{Spec2('ES6')}} | Изначальное определение. |
{{Compat("javascript.builtins.Object.getOwnPropertySymbols")}}