Rumah  >  Artikel  >  hujung hadapan web  >  es6的map对象和原生对象有啥区别

es6的map对象和原生对象有啥区别

WBOY
WBOYasal
2022-05-06 17:14:161776semak imbas

区别:1、原生object对象存储键值对组合中键的类型是字符串,map对象存储键值对的类型可以是任意类型;2、原生object对象获取键值使用的是“Object.keys”,返回的是数组,而map对象采用的是“map变量.keys()”。

es6的map对象和原生对象有啥区别

本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。

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, &#39;content&#39;);
            // 输出是object 也可以是任何类型
            console.log(map.keys().next());
        </script>
    </body>
</html>

【相关推荐:javascript视频教程web前端

Atas ialah kandungan terperinci es6的map对象和原生对象有啥区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn