注意 Object 與 Map 的索引的不同
前言
Map 與 Object 在儲存的形式上非常相像,但不信的就是不一樣,在使用索引時要注意,在此把學習的過程做紀錄。
內容
範例如下
let map = new Map([
['z','aa'] ,
[12,'bb'] ,
['12',13] ,
[1234,5678]
]);
console.log(map.get('12') );//bb
console.log(map.get(12) );//13
//
let obj ={}
obj['12'] = 9999;
console.log(obj['12']);//9999
console.log(obj[12]);//9999
obj[12] = 5555;
console.log(obj['12']);//5555
console.log(obj[12]);//5555
Map 與 Object 的索引行為是不同的,Map 的索引會分 Number 與 String ,兩者索引出來的結果不是同一個,但在 Object 的索引就不一樣,不論是 Number 與 String 都會索引到同一個數值,可以想成是 Number 索引會自動準形成 String 。