共计 453 个字符,预计需要花费 2 分钟才能阅读完成。
// example 1
var a={}, b='123', c=123;
a[b]='b';
a='c';
console.log(a[b]);
// c 的键名会被转换成字符串 ’123’,这里会把 b 笼罩掉。
// 输入 c
---------------------
// example 2
var a={}, b=Symbol('123'), c=Symbol('123');
a[b]='b';
a='c';
console.log(a[b]);
// c 是 Symbol 类型,不须要转换。任何一个 Symbol 类型的值都是不相等的,所以不会笼罩掉 b。
// 输入 b
---------------------
// example 3
var a={}, b={key:'123'}, c={key:'456'};
a[b]='b';
a='c';
console.log(a[b]);
// c 不是字符串也不是 Symbol 类型,须要转换成字符串。
// 对象类型会调用 toString 办法转换成字符串 [object Object]。这里会把 b 笼罩掉。
// 输入 c~~~~
正文完
发表至: javascript
2021-03-24