Spec-Zone.ru › JavaScript

Object.getOwnPropertySymbols()

Базовая поддержка Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

Статический метод Object.getOwnPropertySymbols() возвращает массив всех символьных свойств, найденных непосредственно в заданном объекте.

Попробовать

const object = {};
const a = Symbol("a");
const b = Symbol.for("b");

object[a] = "localSymbol";
object[b] = "globalSymbol";

const objectSymbols = Object.getOwnPropertySymbols(object);

console.log(objectSymbols.length);
// Expected output: 2

Синтаксис

Object.getOwnPropertySymbols(obj)

Параметры

obj
Объект, символьные свойства которого должны быть возвращены.

Возвращаемое значение

Массив всех символьных свойств, найденных непосредственно в заданном объекте.

Описание

Подобно Object.getOwnPropertyNames(), вы можете получить все символьные свойства заданного объекта в виде массива символов. Обратите внимание, что Object.getOwnPropertyNames() сам по себе не содержит символьных свойств объекта, а только строковые свойства.

Поскольку изначально все объекты не имеют собственных символьных свойств, Object.getOwnPropertySymbols() возвращает пустой массив, если только вы не установили символьные свойства для своего объекта.

Примеры

Использование Object.getOwnPropertySymbols()

const obj = {};
const a = Symbol("a");
const b = Symbol.for("b");

obj[a] = "localSymbol";
obj[b] = "globalSymbol";

const objectSymbols = Object.getOwnPropertySymbols(obj);

console.log(objectSymbols.length); // 2
console.log(objectSymbols); // [Symbol(a), Symbol(b)]
console.log(objectSymbols[0]); // Symbol(a)

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-object.getownpropertysymbols

Совместимость с браузерами

Настольные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
getOwnPropertySymbols
38
12
36
25
9
38
36
25
9
3.0
38
9
1.0.0
1.0
0.12.0

Смотрите также

  • Полифил Object.getOwnPropertySymbols в core-js
  • Object.getOwnPropertyNames()
  • Symbol

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertySymbols

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API