书上写的JavaScript中将表达式转换为字符串时会调用toString()方法,我没看明白,就自己试了下,这四个例子的输出结果我没看懂,请问可以解惑一下吗,toString,tostring结果差这么多吗?不都是对象里面的键吗?感觉怎么和内置的toString()起了关联?
let foo={toString:()=>'World'};
console.log(Hello, ${foo}
);
执行结果是Hello,World
let foo={tostring:()=>'World'};
console.log(Hello, ${foo}
);
执行结果是Hello,[object Object]
let foo={tostring:‘World’};
console.log(Hello, ${foo}
);
执行结果是Hello,[object Object]
let foo={toString:‘World’};
console.log(Hello, ${foo}
);
执行结果是报错 Uncaught TypeError: Cannot convert object to primitive value
console.log里面有反引号,好像被系统给弄了看不见了。