Java语言中的对象到原始类型的转换:由于没有toString()方法,为什么不调用valueOf()方法

问题描述 投票:0回答:1

let obj = {
  valueOf() {
    return "2";
  }
};

alert(obj);

我认为在没有toString()的情况下,当需要字符串时将调用valueOf()。

javascript object tostring primitive value-of
1个回答
0
投票

这不会调用,因为这会在原型链中找到toString,如果我们创建的对象没有任何原型,它将调用

let obj = Object.create(null)

obj.valueOf =
  function() {
    return "2";
  }

alert(obj);
© www.soinside.com 2019 - 2024. All rights reserved.