[英]Why does '[' + array + ']' return a normal array?
所以我只是在写一些代码,并意识到在数组周围添加方括号只会返回一个完整的正常数组,如下所示,
var arr = [1, 2, 3]
var addSquareBrackets = function(arr) {
return '[' + arr + ']';
}
addSquareBrackets(arr); // <- returns [1, 2, 3]
当在数组周围连接花括号时也会发生同样的事情。
var arr = [1, 2, 3]
var addCurlyBrackets = function(arr) {
return '{' + arr + '}';
}
addCurlyBrackets(arr); // <- returns {1, 2, 3}
第一个示例返回 [1, 2, 3] 而不是 [[1, 2, 3]] 或第二个示例返回 {1, 2, 3} 而不是 {[1, 2, 3]}。 有人可以帮我理解为什么会这样吗?
使用+
运算符,只要一侧有字符串,另一侧的任何表达式也会被强制转换为字符串。
Arrays,当被强制转换为字符串时,对它们调用.join(',')
:
console.log(String([1, 2, 3]));
他们没有在结果周围添加[
]
数组分隔符 - 他们只是将普通值用逗号连接在一起。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.