Object.getOwnPropertySymbols()

**Object.getOwnPropertySymbols()** 静态方法返回一个数组,其中包含在给定对象上直接找到的所有符号属性。

试一试

语法

js
Object.getOwnPropertySymbols(obj)

参数

obj

要返回其符号属性的对象。

返回值

在给定对象上直接找到的所有符号属性的数组。

描述

类似于 Object.getOwnPropertyNames(),您可以将给定对象的全部符号属性作为符号数组获取。请注意,Object.getOwnPropertyNames() 本身不包含对象的符号属性,只包含字符串属性。

由于所有对象最初都没有自己的符号属性,因此 Object.getOwnPropertySymbols() 返回一个空数组,除非您在对象上设置了符号属性。

示例

使用 Object.getOwnPropertySymbols()

js
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 语言规范
# sec-object.getownpropertysymbols

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅