Object.getOwnPropertySymbols()
åºçº¿
广æ³å¯ç¨
èª 2015å¹´9æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
Object.getOwnPropertySymbols() éææ¹æ³è¿åä¸ä¸ªå
å«ç»å®å¯¹è±¡ææèªæ Symbol 屿§çæ°ç»ã
å°è¯ä¸ä¸
const object1 = {};
const a = Symbol("a");
const b = Symbol.for("b");
object1[a] = "localSymbol";
object1[b] = "globalSymbol";
const objectSymbols = Object.getOwnPropertySymbols(object1);
console.log(objectSymbols.length);
// Expected output: 2
è¯æ³
Object.getOwnPropertySymbols(obj)
åæ°
obj-
è¦è¿å Symbol 屿§ç对象ã
è¿åå¼
å¨ç»å®å¯¹è±¡æ¾å°çææèªæ Symbol 屿§çæ°ç»ã
æè¿°
ä¸ Object.getOwnPropertyNames() 类似ï¼ä½ å¯ä»¥å°ç»å®å¯¹è±¡çææç¬¦å·å±æ§ä½ä¸º Symbol æ°ç»è·åã请注æï¼Object.getOwnPropertyNames() æ¬èº«ä¸å
å«å¯¹è±¡ç Symbol 屿§ï¼åªå
å«åç¬¦ä¸²å±æ§ã
å 为ææç对象å¨åå§åçæ¶åä¸ä¼å
å«ä»»ä½èªæç Symbol 屿§ï¼é¤éä½ å¨å¯¹è±¡ä¸åé
äº Symbol 屿§ï¼å¦å 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> |