Baseline Widely available
Symbol
ê°ì toString()
ë©ìëë ì§ì ë ì¬ë³¼ ê°ì ëíë´ë 문ìì´ì ë°íí©ëë¤.
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
ì ì¬ë³¼ì 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ê° ì¬ë³¼ ëí¼ ê°ì²´ìì [Symbol.toPrimitive]()
ëì toString()
ì ììì ì¼ë¡ í¸ì¶íëë¡ íë ì ì¼í ë°©ë²ì 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