Baseline Widely available
Symbol.toStringTag
ì ì ë°ì´í° ìì±ì ì ìë ¤ì§ ì¬ë³¼ @@toStringTag
를 ëíë
ëë¤. Object.prototype.toString()
ì ê°ì²´ì ì íì ëíë´ë 문ìì´ì í¬í¨íë ìì±ì this
ê°ìì ì´ ê¸°í¸ë¥¼ ê²ìí©ëë¤.
class ValidatorClass {
get [Symbol.toStringTag]() {
return "Validator";
}
}
console.log(Object.prototype.toString.call(new ValidatorClass()));
// Expected output: "[object Validator]"
ê°
ì ìë ¤ì§ ì¬ë³¼ @@toStringTag
.
ì¼ë¶ ê°ìë Symbol.toStringTag
ì´ ìì§ë§ í¹ìí toString()
ííì´ ììµëë¤. ì ì²´ 목ë¡ì Object.prototype.toString()
ì(를) 참조íììì¤.
Object.prototype.toString.call("foo"); // "[object String]"
Object.prototype.toString.call([1, 2]); // "[object Array]"
Object.prototype.toString.call(3); // "[object Number]"
Object.prototype.toString.call(true); // "[object Boolean]"
Object.prototype.toString.call(undefined); // "[object Undefined]"
Object.prototype.toString.call(null); // "[object Null]"
// ... and more
ë´ì¥ toStringTag ì¬ë³¼
ëë¶ë¶ì ë´ì¥ ê°ì²´ë ìì²´ @@toStringTag
ìì±ì ì ê³µí©ëë¤. ê±°ì 모ë ë´ì¥ ê°ì²´ì @@toStringTag
ìì±ì ì°ê¸° ê°ë¥íì§ ìì¼ë©°, ì´ê±° ê°ë¥íì§ ìì¼ë©°, 구ì±ì ê°ë¥íì§ë§ í¸íì±ì ì´ì ë¡ ì°ê¸° ê°ë¥í Iterator
ë ìì¸ì
ëë¤.
Promise
ì ê°ì ìì±ì ê°ì²´ì ê²½ì°, ì´ ìì±ì Constructor.prototype
ì ì¤ì¹ëë¯ë¡ ìì±ìì 모ë ì¸ì¤í´ì¤ê° @@toStringTag
를 ììíê³ ë¬¸ìì´íí ì ììµëë¤. Math
ë° JSON
ì²ë¼ ìì±ì ê°ì²´ê° ìë ê²½ì° ìì±ì´ ì ì ìì±ì¼ë¡ ì¤ì¹ëì´ ë¤ìì¤íì´ì¤ ê°ì²´ ì체를 문ìì´íí ì ììµëë¤. ìì±ìê° ìì²´ toString
ë©ìë를 ì ê³µí기ë íëë°(ì: Intl.Locale
), ì´ ê²½ì° @@toStringTag
ìì±ì ëª
ìì ì¼ë¡ Object.prototype.toString
ì í¸ì¶íë ê²½ì°ìë§ ì¬ì©ë©ëë¤.
Object.prototype.toString.call(new Map()); // "[object Map]"
Object.prototype.toString.call(function* () {}); // "[object GeneratorFunction]"
Object.prototype.toString.call(Promise.resolve()); // "[object Promise]"
// ... and more
toStringTag를 ì¬ì©í ì¬ì©ì ì§ì íê·¸
ìì ë§ì í´ëì¤ë¥¼ ë§ë¤ ë JavaScriptë 기본ì ì¼ë¡ "Object" í그를 ì¬ì©í©ëë¤.
class ValidatorClass {}
Object.prototype.toString.call(new ValidatorClass()); // "[object Object]"
ì´ì toStringTag
ì ëìì¼ë¡ ëë§ì ì¬ì©ì ì§ì í그를 ì¤ì í ì ììµëë¤.
class ValidatorClass {
get [Symbol.toStringTag]() {
return "Validator";
}
}
Object.prototype.toString.call(new ValidatorClass()); // "[object Validator]"
모ë DOM íë¡í íì
ê°ì²´ìì ì¬ì© ê°ë¥í toStringTag
2020ë
ì¤ë°ì WebIDL ëª
ì¸ ë³ê²½ì¼ë¡ ì¸í´ ë¸ë¼ì°ì ë 모ë DOM íë¡í íì
ê°ì²´ì Symbol.toStringTag
ìì±ì ì¶ê°íê³ ììµëë¤. ì를 ë¤ì´, HTMLButtonElement
ì Symbol.toStringTag
ìì±ì ì ê·¼íë ¤ë©´ ë¤ìì ì를 ì°¸ê³ íì¸ì.
const test = document.createElement("button");
test.toString(); // "[object HTMLButtonElement]"
test[Symbol.toStringTag]; // "HTMLButtonElement"
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
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