例子:
var test = [];
test.push( 'string', 'test'); //[ 'string', 'test' ]
console.log('{' + test + '}'); // {string,test}
console.log(typeof('{' + test + '}')); //string
为什么添加 {
和 }
会从测试中删除括号?我本以为第三行的结果是 { [string, test] }
最佳答案
原因是创建 Javascript 时做出的许多错误选择之一,现在由于向后兼容性而修复为时已晚。
当转换为字符串时,数组成为转换为字符串的元素的串联,用逗号分隔而不用[
]
标记。
例如这就是原因
(1 == [1])
在Javascript中是true
(两者类型不同,转换成字符串是一样的),以及定义的原因
var a = [1], b = 1, c = [[1]];
表达式
(a == b && b == c && a != c)
也是 true
。
关于javascript - 为什么添加 "{" "}"会从数组中删除括号? (JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42757995/