Javascript 中的对象到原始类型的转换:请问为什么不调用 valueOf() 方法,因为没有 toString() 方法
Object to primitive conversion in Javascript: Please why isn't the valueOf() method called since there is not toString() method
let obj = {
valueOf() {
return "2";
}
};
alert(obj);
我认为在没有 toString() 的情况下, valueOf() 将在需要字符串时被调用。
这不会调用,因为它在原型链中找到 toString
,如果我们创建一个没有任何原型的对象,它将调用
let obj = Object.create(null)
obj.valueOf =
function() {
return "2";
}
alert(obj);
let obj = {
valueOf() {
return "2";
}
};
alert(obj);
我认为在没有 toString() 的情况下, valueOf() 将在需要字符串时被调用。
这不会调用,因为它在原型链中找到 toString
,如果我们创建一个没有任何原型的对象,它将调用
let obj = Object.create(null)
obj.valueOf =
function() {
return "2";
}
alert(obj);