欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

 

相关标签: 原生js