2023年12月25日 星期一

注意 Object 與 Map 的索引的不同

 注意 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 。


參考資料

[ developer.mozilla.org ] Map

[ developer.mozilla.org ] Object

沒有留言:

張貼留言