为什么数组以特定方式强制?

问题描述

我很难理解为什么下面的例子会得到这样的结果。

String([,]); // ',' why?


Number([8,8]); // NaN    why?

如果可能,请详细说明

解决方法

请注意,String 调用对象上的 toString 方法,对于数组,该方法等效于调用 Array#join

String([,]);

[,] 是一个包含 3 个空元素的数组。 [,].join() 然后将在空元素之间放置两个逗号作为分隔符,从而得到 ","

Number([8,8]);

[8,8].join() 返回 "8,8",它无法解析为 Number,因此它生成 NaN