在JavaScript中为什么这样做
",,," == new Array(4)
Run Code Online (Sandbox Code Playgroud)
它在Chrome Developer Tools和nodejs控制台中返回true.
console.log(new Array(4).toString()); // ",,,"
Run Code Online (Sandbox Code Playgroud)
转换为具有上述值的字符串使两者相等.
",,," == ",,," // true
Run Code Online (Sandbox Code Playgroud)
JS看到左边是一个字符串,右边是一个不适合比较的数组,它将数组转换为字符串,然后进行比较.
请注意:
log(",,," === new Array(4));
Run Code Online (Sandbox Code Playgroud)
会导致false因为===不仅检查value,而且type和类型当然是不同的.