Это экспериментальная технология, часть предложения Harmony (ECMAScript 6).
Поскольку спецификация этой технологии ещё не стабилизировалась, проверьте таблицу совместимости её использования в различных браузерах. Также обратите внимание, что синтаксис и поведение экспериментальной технологии могут быть изменены в будущих версиях браузеров в соответствии с изменениями в спецификации.
Сводка
Метод Object.getOwnPropertySymbols()
возвращает массив всех символьных свойств, найденных непосредственно на переданном объекте.
Синтаксис
Object.getOwnPropertySymbols(obj)
Параметры
obj
- Объект, чьи символьные будут возвращены.
Описание
Подобно методу Object.getOwnPropertyNames()
, вы можете получить все символьные свойства указанного объекта в качестве массива символов. Обратите внимание, что метод 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)
Спецификации
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 6 (ECMA-262) Определение 'Object.getOwnPropertySymbols' в этой спецификации. |
Кандидат в рекомендации | Изначальное определение. |
Совместимость с браузерами
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | (Да) | 36.0 (36.0) | Нет | (Да) | Нет |
Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | 36.0 (36.0) | Нет | Нет | Нет |