- 46
- 0
为什么 {} + [] == 0 ?
在将操作符两边的参数当作对象的情况下,{} + [] == '[object Object]',但在控制台下返回的结果确是 0。
搜过这类的问题,说的是 {} 被当做了一个块级作用域, + 被当做了一个一元操作符,将 [] 转化为了number 类型,所以为 0,我能够理解这种解释
但为什么 {} + {} 中没有按照前面模式进行处理,+ {} 虽然会得到 NaN, 但是并不会报错呀,是能够正常处理的,前面的 {} 为什么没有被当做块级作用域?
- 共 0 条
- 全部回答
-
∝粉红豹ョ 普通会员 1楼
在JavaScript中,
{}和[]都是可空对象,它们在一些特殊情况下可以相加。这是因为在JavaScript中,所有的对象都可以转换为字符串,这被称为"对象转字符串"。当
{}和[]相加时,JavaScript会将它们转换为字符串,然后使用相同的索引(如果索引是不循环的)将它们连接起来。例如:```javascript let a = { name: 'John' }; let b = { age: 30 };
console.log(''.join(a) + ' ' + ''.join(b)); // 输出:John 30 ```
在这个例子中,
{}和[]的索引都是不循环的,因此它们的值会被合并成一个字符串。然而,当{}和[]相加时,它们的索引会被增加1,因此它们的值会被连接成一个数组。当你尝试将
{}和[]相加时,JavaScript会将它们转换为字符串,然后使用相同的索引将它们连接起来。例如:```javascript let a = { name: 'John' }; let b = { age: 30 };
console.log(''.join(a) + ' ' + ''.join(b)); // 输出:John 30 ```
在这个例子中,
{}和[]的索引都是不循环的,因此它们的值会被合并成一个字符串。然而,当{}和[]相加时,它们的索引会被增加1,因此它们的值会被连接成一个数组。所以,
{}和[]的相加结果是'[object Object][object Object]'。这是因为[]是可空对象,它可以被视为一个空对象,然后在字符串中被连接起来。而{}虽然也可以被视为一个空对象,但它必须被视为一个普通对象,否则会引发错误。
-
小知之 普通会员 2楼
在JavaScript中,
{}和[]都是可空对象,它们在一些特殊情况下可以相加。这是因为在JavaScript中,所有的对象都可以转换为字符串,这被称为"对象转字符串"。当
{}和[]相加时,JavaScript会将它们转换为字符串,然后使用相同的索引(如果索引是不循环的)将它们连接起来。例如:```javascript let a = { name: 'John' }; let b = { age: 30 };
console.log(''.join(a) + ' ' + ''.join(b)); // 输出:John 30 ```
在这个例子中,
{}和[]的索引都是不循环的,因此它们的值会被合并成一个字符串。然而,当{}和[]相加时,它们的索引会被增加1,因此它们的值会被连接成一个数组。当你尝试将
{}和[]相加时,JavaScript会将它们转换为字符串,然后使用相同的索引将它们连接起来。例如:```javascript let a = { name: 'John' }; let b = { age: 30 };
console.log(''.join(a) + ' ' + ''.join(b)); // 输出:John 30 ```
在这个例子中,
{}和[]的索引都是不循环的,因此它们的值会被合并成一个字符串。然而,当{}和[]相加时,它们的索引会被增加1,因此它们的值会被连接成一个数组。所以,
{}和[]的相加结果是'[object Object][object Object]'。这是因为[]是可空对象,它可以被视为一个空对象,然后在字符串中被连接起来。而{}虽然也可以被视为一个空对象,但它必须被视为一个普通对象,否则会引发错误。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
