Wil*_*ark -2 javascript arrays javascript-objects
所以我只是在写一些代码并意识到在数组周围添加方括号只会返回一个完整的普通数组,如下所示,
var arr = [1, 2, 3]
var addSquareBrackets = function(arr) {
return '[' + arr + ']';
}
addSquareBrackets(arr); // <- returns [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
在数组周围连接大括号时也会发生同样的事情。
var arr = [1, 2, 3]
var addCurlyBrackets = function(arr) {
return '{' + arr + '}';
}
addCurlyBrackets(arr); // <- returns {1, 2, 3}
Run Code Online (Sandbox Code Playgroud)
第一个示例如何返回 [1, 2, 3] 而不是 [[1, 2, 3]] 或第二个示例如何返回 {1, 2, 3} 而不是 {[1, 2, 3]}。有人可以帮助我理解为什么会发生这种情况吗?
使用+运算符,只要一侧有字符串,另一侧的任何表达式也会被强制转换为字符串。
数组,当被强制转换为字符串时,会.join(',')调用它们:
console.log(String([1, 2, 3]));Run Code Online (Sandbox Code Playgroud)
他们不会让[ ]周围的结果添加阵列分隔符-他们只是普通的值用逗号连接在一起。