·類似於物件,以鍵值對方式儲存
·不同點:物件中鍵只能是字串,map中可以為物件
//在物件中,鍵如果為乙個物件,會直接將這個物件tostring(),都會變成"[object object]"字串,所以"大海"能替換"天空"
let obj1 = , obj2 = , obj = {};
obj.name = '張三';
obj[obj1] = '天空';
obj[obj2] = '大海';
console.log(obj); //
console.log(obj1.tostring()); // [object object]
console.log(obj2.tostring()); // [object object]
console.log(obj1.tostring() === obj2.tostring()); // true
//在map中,物件可以作為鍵
let obj1 = , obj2 = ;
const map = new map([
['name', '張三'],
[obj1, '今天天氣很好'],
[obj2, '適合敲**'],
[[1,2], 'hhh']
]);console.log(map); // map(4) => "今天天氣很好", => "適合敲**", array(2) => "hhh"}
console.log(map.size); // 4
1.set和get
map.set('friends', ['趙六', '李七']).set(['dog'], '小花');
console.log(map);
console.log(map.get('name')); // 張三
console.log(map.get(obj1)); // 今天天氣很好
2.delete(返回boolean值)
map.delete(obj1);
3.has(返回boolean值)
console.log(map.has(obj2));
4.clear-清空
map.clear();
console.log(map);
5.keys()-所有鍵 values()-所有值 entries()-所有鍵值
console.log(map.keys());
console.log(map.values());
console.log(map.entries());
6.遍歷
map.foreach(function (value, index) )
7.注意事項-兩個物件永不相等
map.set({}, '呵呵呵呵呵');
map.set({}, '哈哈哈哈');
console.log(map); // 上面兩個都加入進去了
ES6基礎語法(三) 資料集合 set
類似於陣列,不同點是set裡沒有重複資料 主要用於去除重複資料 1.建立乙個集合 let set new set 張三 李四 王五 張三 李四 console.log set set 3 size proto set entries array 3 0 張三 1 李四 2 王五 length 3 2...
ES6 基礎語法
1 var vs let const var 可以定義全域性變數,與之不同,let的重要特性就是提供了塊級作用域和不具備變數提公升。const主要用於定義常量,常量顧名思義不是變數,意思就是一經定義,值就無法改變。首先弄明白塊級作用域 es5中有全域性作用域與函式作用域,塊級作用域是es6中的新語法...
ES6基礎語法
let 變數 不具備變數提公升特性 const 常量 引用位址不可改變 在宣告時必須被賦值 let和const都是塊級作用域 只在最靠近的乙個塊中 花括號內 有效 在es6中新增了模板字串拼接 var name kingfan var age 18 var msg 我是 今年 歲 console.l...