我最初是在查找Array.prototype.toString(). 从规范中我意识到这个调用.join()。但我不明白带有未定义元素的数组的输出。
[,,,].toString()返回",,"。但我预料到了",,,"。序列化中似乎缺少 1 个元素。这里发生了什么事?
因为在 JavaScript 中,如果最后一个,(尾随逗号)后面没有任何内容,则会被忽略。
console.log([1,].length);
// -> 1
console.log([1,,].length);
// -> 2Run Code Online (Sandbox Code Playgroud)
因此,当您执行 时[,,,],最后一个,被忽略。因此长度仅为3.
console.log([,,,].length);
// -> 3Run Code Online (Sandbox Code Playgroud)
当你加入一个带有n项目的数组时,你会得到n-1逗号。因此,你得到的结果。
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |