JS對象屬性名


對象屬性名

在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的值進行修改


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM