空的 JavaScript 数组是否被视为字符串?当我尝试对空数组执行增量操作时,它返回 "1"
。我也很好奇为什么它不运行 catch 块。
let x=[]
try {
x=x+1
} catch(err){
console.log(err)
}
console.log( typeof x, x);
答案 0 :(得分:2)
+
运算符首先将数组和数字强制转换为字符串。这会在数组上调用 toString
,它在不带任何参数的情况下调用 join
,从而得到 ""
。连接 ""
和 "1"
的结果是 "1"
。