Symbol.toPrimitive
程序员文章站
2022-06-09 20:06:32
...
Symbol.toPrimitive 是内置的Symvbol的值。作为对象的函数值属性存在,当一个对象转换为初始值时调用。
const object1 = {
[Symbol.toPrimitive](hint) {
if (hint == 'number') {
return 42;
}
return null;
}
};
console.log(+object1); // 42
还可以重写Symbol.toPrimitive 函数
let a = {
valueOf() {
return 0;
},
toString() {
return '1';
},
[Symbol.toPrimitive]() {
return 2;
}
}
1 + a // => 3
'1' + a // => '12'
该方法在转基本类型时调用优先级最高
mdn链接 :https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive
上一篇: JavaScript常见面试题
下一篇: hadoop 常见面试题
推荐阅读