원시값을 접근할때는 래퍼 객체가 생성되고 접근한다. 객체를 원시값으로 변경하는 방법은 없을까?? (동현) 아래 mdn 예제 코드. (링크: [mdn 자료])
const obj1 = {};
console.log(+obj1);
console.log(`${obj1}`);
console.log(obj1 + "");
const obj2 = {
[Symbol.toPrimitive](hint) {
if (hint === "number") {
return 10;
}
if (hint === "string") {
return "hello";
}
return true;
},
};
console.log(+obj2);
console.log(`${obj2}`);
console.log(obj2 + "");
아래 모던 자바스크립트 튜토 예제 코드. (링크: [모던 자바스크립트 튜토 자료])let user = {
name: "John",
money: 1000,
toString() {
return `{name: "${this.name}"}`;
},
valueOf() {
return this.money;
}
};
alert(user);
alert(+user);
alert(user + 500);