所属分类:web前端开发
区别:1、原生object对象存储键值对组合中键的类型是字符串,map对象存储键值对的类型可以是任意类型;2、原生object对象获取键值使用的是“Object.keys”,返回的是数组,而map对象采用的是“map变量.keys()”。
前端(vue)入门到精通课程:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。
区别
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>
登录后复制
【相关推荐:javascript视频教程、web前端】
以上就是es6的map对象和原生对象有啥区别的详细内容,更多请关注zzsucai.com其它相关文章!