为什么结果是4?

-5 javascript

如果有人遇到这个问题,请解释一下,为什么当我们在引号中添加值而不添加引号时,结果会得到 4?“1”+2=4?

js 似乎只是将键中的值相乘,不带引号

let obj = {
    "0": 1,
    0: 2
};

console.log(obj["0"] + obj[0]);
Run Code Online (Sandbox Code Playgroud)

小智 5

您对同一属性设置了两次。0"0"相同,所以最后一个生效。

如果您记录该对象,您将看到以下内容:

let obj = {
    "0": 1,
    0: 2
};

console.log(obj); // {0: 2}
Run Code Online (Sandbox Code Playgroud)