Baseline Widely available
toString()
ã¡ã½ããã¯ãæå®ããã Symbol
ãªãã¸ã§ã¯ãã表ãæååãè¿ãã¾ãã
console.log(Symbol("desc").toString());
// Expected output: "Symbol(desc)"
console.log(Symbol.iterator.toString());
// Expected output: "Symbol(Symbol.iterator)
console.log(Symbol.for("foo").toString());
// Expected output: "Symbol(foo)"
// console.log(Symbol('foo') + 'bar');
// Expected output: Error: Can't convert symbol to string
æ§æ 弿°
ãªãã
è¿å¤æå®ãããã·ã³ãã«å¤ã表ãæååã§ãã
解説Symbol
ãªãã¸ã§ã¯ã㯠Object
ãªãã¸ã§ã¯ãã® toString
ã¡ã½ããããªã¼ãã¼ã©ã¤ããã¾ããObject.prototype.toString()
ãç¶æ¿ãã¦ãã¾ãããSymbol
å¤ã®å ´åãtoString
ã¡ã½ãã㯠"Symbol(description)"
ã®å½¢æããæååãè¿ãã¾ããããã§ description
ã¯ãã®ã·ã³ãã«ã®èª¬æã§ãã
toString()
ã¡ã½ããã¯ãthis
å¤ã Symbol
ããªããã£ãã¾ãã¯ã©ããã¼ã»ãªãã¸ã§ã¯ãã§ãããã¨ãè¦æ±ããã¾ããã·ã³ãã«å¤ã¸ã®å¼·å¶ã試ã¿ãã«ãä»ã® this
å¤ã«å¯¾ã㦠TypeError
ãçºçãã¾ãã
Symbol
ã«ã¯ [Symbol.toPrimitive]()
ã¡ã½ãããããã®ã§ãSymbol
ãªãã¸ã§ã¯ããæååã«å¤æãããã¨ãã¯ã常ã«ãã®ã¡ã½ããã toString()
ãããåªå
ããã¾ããããããSymbol.prototype[Symbol.toPrimitive]()
ã¯ã·ã³ãã«ããªããã£ããè¿ããã·ã³ãã«ããªããã£ãã¯æååã«æé»çã«å¤æããã㨠TypeError
ãçºçãããããtoString()
ã¡ã½ãããè¨èªã«ãã£ã¦æé»çã«å¼ã³åºããããã¨ã¯ããã¾ãããã·ã³ãã«ãæåååããã«ã¯ãæç¤ºçã« toString()
ã¡ã½ãããå¼ã³åºãããString()
颿°ã使ç¨ããå¿
è¦ãããã¾ãã
Symbol("desc").toString(); // "Symbol(desc)"
// ã¦ã§ã«ãã¦ã³ã·ã³ãã«
Symbol.iterator.toString(); // "Symbol(Symbol.iterator)"
// ã°ãã¼ãã«ã·ã³ãã«
Symbol.for("foo").toString(); // "Symbol(foo)"
æé»ç㪠toString() ã®å¼ã³åºã
JavaScript ã toString()
ãã·ã³ãã«ã©ããã¼ãªãã¸ã§ã¯ãã® [Symbol.toPrimitive]()
ã®ä»£ããã«æé»çã«å¼ã³åºãããã«ããå¯ä¸ã®æ¹æ³ã¯ãå
ã« [Symbol.toPrimitive]()
ã¡ã½ãããåé¤ãã¦ãããã¨ã§ãã
è¦å: ããã¯å®éã«ã¯ãã£ã¦ã¯ããã¾ãããèªåãä½ããã¦ããã®ãããåãã£ã¦ããªãéããçµã¿è¾¼ã¿ãªãã¸ã§ã¯ããæ±ºãã¦å¤æ´ããªãã§ãã ããã
delete Symbol.prototype[Symbol.toPrimitive];
console.log(`${Object(Symbol("foo"))}`); // "Symbol(foo)"
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4