區別
object和Map存儲的都是鍵值對組合。但是:
object的鍵的類型是 字符串;
map的鍵的類型是 可以是任意類型;
另外注意,object獲取鍵值使用Object.keys(返回數組);
Map獲取鍵值使用 map變量.keys() (返回迭代器)。
示例代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>js es6 map 與 原生對象區別</title>
</head>
<body>
<script type="text/javascript"> let a = { o: 1 }; // string
console.log(typeof Object.keys(a)[0]); let map = new Map(); map.set(a, 'content'); // 輸出是object 也可以是任何類型
console.log(map.keys().next()); </script>
</body>
</html>