對象屬性名
在JS中對象的屬性名是什么格式的?
普通對象的屬性名只能是“字符串”(普通對象的屬性名可以是基本數據類型值)
Map這種數據結構支持對象作為屬性名
但是普通對象的屬性名不能是獨享,如果是對象,需要轉換為字符串存儲
var a = {};
b = '0;'
c = 0;
a[b] = 'b'
a[c] = 'c'
console.log(a[b]);
-> 'c'
對象的key(屬性名)數字0等於字符串’0‘,屬性名不能重復
一般是對象屬性名 == 字符串屬性名
數組的key(屬性名)為數字
var a = {},
b = Symbol('1'),
c = Symbol('2');
a[b] = 'b';
a[c] = 'c';
console.log(a[b])
-> 'b'
Symbol是唯一的
var a = {n:12};
var b = a;
b['n'] = 13
console.log(a.n)
-> 13
var a = {n:13}
1.創建一個堆內存
2.把鍵值對存儲到堆內存中
3.堆內存地址放到棧中,共變量調用
var b =a;
b['n'] = 13;
b基於地址碼,找到堆內存,把堆內存中的屬性n的值進行修改
