gpt4 book ai didi

javascript - 为什么 `{} + []` 在 Javascript 中返回与 `a = {} + []` 不同的结果?

转载 作者:数据小太阳 更新时间:2023-10-29 04:04:30 26 4
gpt4 key购买 nike

(至少)在 Firefox Web 控制台和 JSBin 中,我得到

> {} + []
0
> a = {} + []
"[object Object]"

Node.js 在这两种情况下都返回 "[object Object]"。根据规范,哪种行为是正确的?如果是第一个,为什么?

最佳答案

在浏览器控制台上,当它前面没有 =(或其他一些更改其上下文的代码)时,{} 被视为 block ,不是对象字面量。

由于该 block 是空的,所以它什么也不做,只剩下 + []

一元加运算符将数组转换为数字,即 0

关于javascript - 为什么 `{} + []` 在 Javascript 中返回与 `a = {} + []` 不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18510335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com