weixin_53650092 2021-11-23 10:55 采纳率: 72.7%
浏览 31

JavaScript中将表达式转换为字符串时会调用toString()方法,没看明白

书上写的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里面有反引号,好像被系统给弄了看不见了。

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 修改了问题 11月23日
      • 创建了问题 11月23日

      悬赏问题

      • ¥25 win11无法启用windows功能
      • ¥15 spm-cat进行VBM分析出错
      • ¥50 c++dll中,在函数中创建线程,在函数执行完之后,线程也被销毁了,有什么办法可以让线程持续运行?
      • ¥15 微信小程序真机测试报错空白
      • ¥15 急需帮助!!!非常需要帮助
      • ¥15 用python解答输出字典问题
      • ¥15 idea运行后磁盘爆满
      • ¥15 matlab的编程题。。。。。。。。
      • ¥300 数字n拆分为m个数字之和的组合问题
      • ¥30 C语言结构体数字被清零问题