Symbol.toPrimitive参数的规则

时间:2017-09-29 07:32:48

标签: javascript

我有这样的代码:

function Answer() {
  this[Symbol.toPrimitive] = function(hint) {
    console.log('convert to ' + hint);
    if (hint == 'string') {
      return 'the answer is 42';
    } else if (hint == 'number') {
      return 42;
    } else {
      return "default";
    }
  }
}
var a = new Answer();
console.log(10 + a);
console.log(+a);
console.log(''+a);
console.log(`${a}`)

+object

使用“数字”调用Symbol.toPrimitive但是当我调用时:

10+object''+object

在Chrome中使用“默认”调用它

我在哪里可以找到提示参数的规则?在MDN上有specs的链接,但它们只包含两个句子。

0 个答案:

没有答案