const obj = {
[Symbol.toPrimitive](option) {
switch (option) {
case 'number':
return 7;
case 'string':
return 'string';
case 'default':
return 'default';
default:
throw new Error();
}
}
};
console.log(12 + obj);
console.log(3 * obj);
console.log(28 / obj);
console.log(obj == 'abc');
console.log(String(obj));
/*
run:
12default
21
4
false
string
*/