Baseline Widely available
Symbol.toStringTag
ã¯éçãã¼ã¿ããããã£ã§ãã¦ã§ã«ãã¦ã³ã·ã³ãã«ã§ãã Symbol.toStringTag
ã表ãã¾ããObject.prototype.toString()
㯠this
ã«å¯¾ãã¦ããã®ãªãã¸ã§ã¯ãã®åã表ãæååãæã¤ããããã£ãããã®ã·ã³ãã«ã§æ¢ãã¾ãã
class ValidatorClass {
get [Symbol.toStringTag]() {
return "Validator";
}
}
console.log(Object.prototype.toString.call(new ValidatorClass()));
// Expected output: "[object Validator]"
å¤
ã¦ã§ã«ãã¦ã³ã·ã³ãã« Symbol.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 ã·ã³ãã«
ã»ã¨ãã©ã®çµã¿è¾¼ã¿ãªãã¸ã§ã¯ãã¯ãç¬èªã® [Symbol.toStringTag]
ããããã£ãæä¾ ãã¦ãã¾ããã»ã¨ãã©ã®çµã¿è¾¼ã¿ãªãã¸ã§ã¯ã [Symbol.toStringTag]
ããããã£ã¯æ¸ãè¾¼ã¿ä¸å¯ãåæä¸å¯ãæ§æå¯è½ã§ããä¾å¤ã¯ Iterator
ã§ãäºææ§ã®çç±ããæ¸ãè¾¼ã¿å¯è½ã§ãã
Promise
ã®ãããªã³ã³ã¹ãã©ã¯ã¿ã¼ãªãã¸ã§ã¯ãã§ã¯ãã³ã³ã¹ãã©ã¯ã¿ã¼ã®ãã¹ã¦ã®ã¤ã³ã¹ã¿ã³ã¹ã [Symbol.toStringTag]
ãç¶æ¿ããæåååã§ããããã«ãããããã£ã¯ Constructor.prototype
ã«ã¤ã³ã¹ãã¼ã«ããã¾ããMath
ã JSON
ã®ãããªã³ã³ã¹ãã©ã¯ã¿ã¼ä»¥å¤ã®ãªãã¸ã§ã¯ãã®å ´åãããããã£ã¯éçããããã£ã¨ãã¦ã¤ã³ã¹ãã¼ã«ãããåå空éãªãã¸ã§ã¯ãèªä½ãæåååã§ããããã«ãªãã¾ããã³ã³ã¹ãã©ã¯ã¿ã¼ãç¬èªã® toString
ã¡ã½ãããæä¾ãããã¨ãããã¾ãï¼ä¾ãã°ãIntl.Locale
ï¼ããã®å ´åã [Symbol.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]"
// ... ãªã©ãªã©
ç¬èªã¯ã©ã¹ã®æ¢å®ã®ãªãã¸ã§ã¯ãã¿ã°
ã¯ã©ã¹ã使ããã¨ã 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
WebIDL ã®ä»æ§å¤æ´ã 2020 å¹´åã°ã«è¡ãããé¢ä¿ã§ããã©ã¦ã¶ã¼ã¯ãã¹ã¦ã® 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