객체 자체에 대한 적절한 원시값으로 변환하고자 할때 Symbol.toPrimitive가 매우 유용하게 사용될 수 있습니다.
다음과 같은 코드가 있다면 …
const money = {
amount: 1000,
[Symbol.toPrimitive](hint) {
if (hint === "number") {
return this.amount;
}
return `${this.amount}원`;
}
};
위의 money에 대해 다음 코드를 실행해 보면 상황에 맞게 해당 객체가 알맞은 원시값으로 변환되어 사용됩니다.
console.log(+money); // 1000
console.log(`${money}`); // 1000원
