Baseline Widely available
Object
ê°ì²´ì ë©ìëì¸ toString()
ì í´ë¹ object를 íííë 문ìì´ì ë°íí©ëë¤. ì´ ë©ìëë ì¬ì©ìê° íì
ê°ì ë³íì íµí´ íìë ê°ì²´ìì ì¬ì ìí ì ììµëë¤.
function Dog(name) {
this.name = name;
}
const dog1 = new Dog("Gabby");
Dog.prototype.toString = function dogToString() {
return `${this.name}`;
};
console.log(dog1.toString());
// Expected output: "Gabby"
구문 매ê°ë³ì
기본ì ì¼ë¡ toString()
ì 매ê°ë³ìê° ììµëë¤. ê·¸ë¬ë ì´ ë©ìë를 ì¬ì ìí Object
를 ììë°ì ê°ì²´ì ê²½ì° ë§¤ê°ë³ì를 ì·¨í ì ììµëë¤. ì를ë¤ì´, Number.prototype.toString()
ì BigInt.prototype.toString()
ë©ìëì ê²½ì° ì íì ì¼ë¡ 기ì(radix)를 매ê°ë³ìë¡ ì·¨í©ëë¤.
ê°ì²´ë¥¼ íííë 문ìì´ì ë°íí©ëë¤.
ì¤ëªìë°ì¤í¬ë¦½í¸ë ê°ì²´ë¥¼ ìì ê°ì¼ë¡ ë³íí기 ìí´ toString
ë©ìë를 í¸ì¶í©ëë¤. ë¹ì ì toString
ë©ìë를 ì§ì ë¶ë¥¼ ì¼ì´ ê±°ì ììµëë¤. ìë°ì¤í¬ë¦½í¸ë ìì ê°ì´ ìì´ì¼ í ê³³ìì ê°ì²´ë¥¼ ë§ì£¼ì¹ë©´ ìëì¼ë¡ í´ë¹ ë©ìë를 í¸ì¶í©ëë¤.
ì´ ë©ìëë 문ìì´ ë³íì ìí´ ì°ì ì ì¼ë¡ í¸ì¶ëì§ë§, ì«ì ë³íê³¼ ìì íì
ë³íì valueOf()
를 ì°ì ì ì¼ë¡ í¸ì¶í©ëë¤. ê·¸ë¬ë 기본 valueOf()
ë©ìëë ê°ì²´ë¥¼ ë°ííë¯ë¡, ê·¸ ê°ì²´ê° valueOf()
를 ì¬ì ìíì§ ììë¤ë©´ ë³´íµ toString()
ë©ìëê° ë§ì§ë§ì í¸ì¶ë©ëë¤. ì를ë¤ì´, +[1]
ì 1
ì ë°ííëë°, ê·¸ ì´ì ë +[1]
ì toString()
ë©ìëê° "1"
ì ë°ííê³ ì´ ê°ì´ ì«ìë¡ ë³íë기 ë문ì
ëë¤.
Object.prototype
를 ììë°ë 모ë ê°ì²´(null
-íë¡í íì
ê°ì²´ë¥¼ ì ì¸í)ë¤ì toString()
ë©ìë를 ììë°ìµëë¤. 커ì¤í
ê°ì²´ë¥¼ ë§ë¤ ë toString()
를 ì¬ì ìí ì ìê³ , ì¬ì ìë ë©ìë를 í¸ì¶íì¬ ì»¤ì¤í
ê°ì²´ë¥¼ 문ìì´ ê°ì¼ë¡ ë³íí ì ììµëë¤. ë ë¤ë¥¸ë°©ë²ì¼ë¡ë @@toPrimitive
ë©ìë를 ì¶ê°íì¬ íì
ë³í ê³¼ì ì ëì´ìë ì¡°ì ì í ì ìê³ , ì´ë íì
ë³í ê³¼ì ìì íì valueOf
ëë toString
ë³´ë¤ ì°ì ìë©ëë¤.
ì¬ì ìë ê°ì²´ìì 기본 Object.prototype.toString()
를 ì¬ì©í기 ìí´ì(í¹ì null
ì´ë undefined
ìì í¸ì¶í기 ìí´ì), Function.prototype.call()
í¹ì Function.prototype.apply()
ì ì´í´ë³¼ ê°ì²´ë¥¼ 첫ë²ì§¸ 매ê°ë³ì(ì´ë¥¼ thisArg
ë¼ê³ í¨)ë¡ ë£ì´ í¸ì¶í©ëë¤.
const arr = [1, 2, 3];
arr.toString(); // "1,2,3"
Object.prototype.toString.call(arr); // "[object Array]"
Object.prototype.toString()
ì "[object Type]"
ì ë°ííëë°, ì¬ê¸°ì Type
ì ê°ì²´ì íì
ì
ëë¤. ë§ì½ ê°ì²´ê° 문ìì´ ê°ì¸ Symbol.toStringTag
í¹ì±ì ê°ì§ê³ ìë¤ë©´ ê·¸ ê°ì´ Type
ì´ ë©ëë¤. Map
ê³¼ Symbol
ì í¬í¨í ë§ì ë´ì¥ ê°ì²´ë¤ì´ Symbol.toStringTag
를 ê°ì§ê³ ììµëë¤. ES6 ì´ì ì ìì±ë ëªëª ê°ì²´ë¤ì Symbol.toStringTag
ê° ìì§ë§ í¹ë³í í그를 ê°ì§ê³ ììµëë¤. ì´ë ìëì ê°ìµëë¤(ìëì ì ê³µë íì
ì´ë¦ê³¼ ëì¼í í그를 ê°ì§ê³ ììµëë¤).
Array
Function
(typeof
ê° "function"
ì¼ë¡ ë°íëë 모ë ê²)Error
Boolean
Number
String
Date
RegExp
arguments
ê°ì²´ë "[object Arguments]"
를 ë°íí©ëë¤. Symbol.toStringTag
ê° ì¬ì ìëì§ ìì ì¬ì©ì ì ìë í´ëì¤ë¤ì í¬í¨í ë¤ë¥¸ ê°ì²´ë¤ì "[object Object]"
를 ë°íí ê²ì
ëë¤.
Object.prototype.toString()
ì´ null
ê³¼ undefined
ìì í¸ì¶ëë©´ ê°ê° [object Null]
ê³¼ [object Undefined]
를 ë°íí©ëë¤.
toString
ë©ìë ì¬ì ì
기본 toString()
ë©ìë ëì ì í¸ì¶ë í¨ì를 ì ìí ì ììµëë¤. toString()
ë©ìëë ì¸ì를 ì·¨íì§ ìê³ ë¬¸ìì´ì ë°íí©ëë¤. ì§ì ìì±í toString()
ë©ìëë ìíë ì´ë¤ ê°ì´ë ë ì ìì§ë§ í´ë¹ ê°ì²´ì ëí ì 보를 ì ë¬íê³ ìì ë ê°ì¥ ì ì©í ê²ì
ëë¤.
ë¤ì ì½ëë Dog
ê°ì²´ íì
ì ì ìíê³ Dog
íì
ì ë°ë¥´ë theDog
를 ìì±í©ëë¤:
function Dog(name, breed, color, sex) {
this.name = name;
this.breed = breed;
this.color = color;
this.sex = sex;
}
theDog = new Dog("Gabby", "Lab", "chocolate", "female");
커ì¤í
ê°ì²´ì toString()
ë©ìë를 í¸ì¶íë ê²½ì° Object
ë¡ë¶í° ììë°ì 기본 ê°ì ë°ííê² ë©ëë¤:
theDog.toString(); // returns [object Object]
ë¤ì ì½ëë 기본 toString()
ë©ìë를 ì¬ì ìíë dogToString()
ì ìì±íê³ í ë¹í©ëë¤. ì´ í¨ìë ê°ì²´ì name, breed, color, sex를 í¬í¨íë 문ìì´ì "property = value;
"ì ííë¡ ë§ë¤ì´ë
ëë¤.
Dog.prototype.toString = function dogToString() {
var ret =
"Dog " +
this.name +
" is a " +
this.sex +
" " +
this.color +
" " +
this.breed;
return ret;
};
ìì ì½ë를 ì¬ì©íë©´ 문ìì´ ì»¨í
ì¤í¸ìì theDog
ê° ì¬ì©ë ëë§ë¤ JavaScriptë ìëì¼ë¡ dogToString()
í¨ì를 í¸ì¶íì¬ ë¤ì 문ìì´ì ë°íí©ëë¤:
"Dog Gabby is a female chocolate Lab";
toString()
ì¼ë¡ ê°ì²´ í´ëì¤ ê²ì¬
toString()
ì 모ë ê°ì²´ì ì¬ì©ëì´ í´ë¹ ê°ì²´ì í´ëì¤ë¥¼ ê°ì ¸ì¬ ì ììµëë¤. Object.prototype.toString()ì 모ë ê°ì²´ì ì¬ì©í기 ìí´ìë Function.prototype.call()
ë Function.prototype.apply()
를 ì¬ì©í´ì ê²ì¬íê³ ì íë ê°ì²´ë¥¼ thisArg
ë¡ ë¶ë¦¬ë 첫ë²ì§¸ íë¼ë¯¸í°ë¡ ëê²¨ì¼ í©ëë¤.
var toString = Object.prototype.toString;
toString.call(new Date()); // [object Date]
toString.call(new String()); // [object String]
toString.call(Math); // [object Math]
// Since JavaScript 1.8.5
toString.call(undefined); // [object Undefined]
toString.call(null); // [object Null]
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
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