CNode

关于['a',undefined,null].toString() 的结果疑问

问答
Hhifarer发布于8 年前最后回复8 年前3 回复4377 浏览0 收藏
  1. js红皮书上说数组的toString() 方法的结果,实际是调用了数组的每一项的toString()方法,并且以,拼接
  2. 还是书上说,null undefined 没有toString()方法,转换成字符串需要 String(undefined)这种形式,结果是'undefined' 所以['a',undefined,null].toString()的结果为什么是'a,,' 而不是'a,undefined,null'
查看回复

回复 (3)

K
keith666666#1·8 年前

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

D
dislido#2·8 年前

以下内容均来源于ES8标准

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

感谢楼上两位解惑

参与回复
登录后即可参与回复。登录