How to use Symbol.toPrimitive to set object to convert automatically to a primitive value in JavaScript

1 Answer

0 votes
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
 
*/

 



answered Mar 26, 2020 by avibootz
...