js es6 map 与 原生对象区别

Posted web前端开发技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

 

以上是关于js es6 map 与 原生对象区别的主要内容,如果未能解决你的问题,请参考以下文章

peptide map DDA和IMS有啥区别

JS新增对象Map、Set

map,flatMap和flatMapLatest的区别

lua import 和 require 的区别

ES6中的Map集合(与java里类似)

ES6 中的 Map 类需要啥? [复制]