关于['a',undefined,null].toString() 的结果疑问
发布于 7 年前 作者 hifarer 3359 次浏览 来自 问答
  1. js红皮书上说数组的toString() 方法的结果,实际是调用了数组的每一项的toString()方法,并且以,拼接
  2. 还是书上说,null undefined 没有toString()方法,转换成字符串需要 String(undefined)这种形式,结果是'undefined' 所以[‘a’,undefined,null].toString()的结果为什么是'a,,' 而不是'a,undefined,null'
3 回复

这个问题可以参考JavaScript Reference中Array.prototype.join()方法说明,里面的Description中有提到: image.png

以下内容均来源于ES8标准

  • array的toString会调用array.join() (22.1.3.28节第2条)
  • array.join() 的实现中,若element值为undefinednull则转换为空字符串,否则为ToString(element)(22.1.3.13节第2.c条)

感谢楼上两位解惑

回到顶部