Object.getOwnPropertySymbols()
静态方法 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
语法
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® 2026 语言规范 # sec-object.getownpropertysymbols |
浏览器兼容性
加载中…