下⾯ JavaScript 代码的输出是什么?

const a = {};
const b = { key: "b" };
const c = { key: "c" };
a[b] = 123;
a[c] = 456;
console.log(a[b]);
805 次浏览
  • A、123
  • B、ReferenceError
  • C、undefined
  • D、456
对象键⾃动转换为字符串。我们试图将⼀个对象设置为对象 a 的键,其值为 123 。 但是,当对象⾃动转换为字符串化时,它变成了 [Object object] 。 所以我们在这⾥说的是 a["Object object"] = 123 。 然后,我们可以尝试再次做同样的事情。 c 对象同 样会发⽣隐式类型转换。那么, a["Object object"] = 456 。 然后,我们打印 a[b] ,它实际上是 a["Object object"] 。 我们将其设置为 456 ,因此返回 456 。
挑战成功
1年前
挑战失败
1年前
挑战失败
1年前
挑战失败
1年前
挑战成功
4年前

微信公众号

有课学公众号
  • 微信公众号: geekdaxue