对象的属性
key只能是字符串和
Symbal
key为数字时数字
数字自动转字符串
let a = {},
b = "123",
c = 123;
a[b] = "b";
a[c] = "c"; // 覆盖了
console.log(a[b]); // 'c'
key为Symbal时
let a = {},
b = Symbol("123"),
c = Symbol("123");
a[b] = "b";
a[c] = "c"; // 不会覆盖
console.log(a[b]); // 'b'
key为对象时
对象会转字符串
let a = {},
b = { key: "123" },
c = { key: "123" };
a[b] = "b";
a[c] = "c"; // 覆盖了
console.log(a[b]); // 'c'