定型数组
1.啥是定型数组,历史🤔2.ArrayBuffer
算了感觉太垃圾了我还用不上,日后再来
Map
Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值) 都可以作为一个键或一个值。1.基本API
set():添加键/值对
get() has():进行查询
size():获得映射的键/值数量
delete() clear():删除值
把👇的看懂就好了
let myMap = new Map();
let keyObj = {};
let keyFunc = function() {};
let keyString = 'a string';
// 添加键
myMap.set(keyString, "和键'a string'关联的值");
myMap.set(keyObj, "和键keyObj关联的值");
myMap.set(keyFunc, "和键keyFunc关联的值");
myMap.size; // 3
// 读取值
myMap.get(keyString); // "和键'a string'关联的值"
myMap.get(keyObj); // "和键keyObj关联的值"
myMap.get(keyFunc); // "和键keyFunc关联的值"
myMap.get('a string'); // "和键'a string'关联的值"
// 因为keyString === 'a string'
myMap.get({}); // undefined, 因为keyObj !== {}
myMap.get(function() {}); // undefined, 因为keyFunc !== function () {}
2.顺序和迭代
map()可以维护键值对的插入顺序,因为内部有一个迭代器。可以通过entries()方法取得这个迭代器。
3.讲了这么多,怎么选择map()和Object()呢?
📕上说啊,对于大多数web开发没啥区别,也就是学了这个没有什么卵用,*!
但是对于性能优化map还是更有一些优势,因为直接看书没有看懂,我还在网上搜了一下,看到了一个表格很棒,贴在下面,来自MDN
Set
set的基本属性和map相差不大,等以后实际接触到set继续补充
文章内容参考:JavaScript高级程序设计(第四版)标题样式来自:juejin.cn/post/684490…
哪里写错了就联系我🐧:54269504