js es6 map 与 原生对象区别

区别

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>
原文地址:https://www.cnblogs.com/mengfangui/p/9934849.html