在ES6中,新增了两种声明空间的方法,即前文中提及到的let和const
解构: 解开目标的整体结构
**赋值:**将目标中的数据 赋值到我们定义的变量中
每一个对象每个对象都可以有 若干的属性 / 方法(冒号赋值,逗号间隔、 最后一个属性 / 方法 不需要逗号)
可以通过点语法来访问对象中的变量
let obj = {
a:1, ==> let a = obj.a;
b:2 ==> let b = obj.b;
}
对象的解构赋值:
{ }中,名字必须和obj中保持一致,也就是说 变量名必须和属性名一致
let {a,b} = obj;
数组的解构赋值:
保持顺序一致
let arr = [1,2,3,4,5];
let [c,d,e,f] = arr;
console.log(c,d);
数组的解构赋值:
变量名的存储顺序 和 字符串中存储的顺序一致
let str = "abc";
let [a,b] = str;
console.log(a,b);
将目标元素拷贝并在使用处展开
let arr1 = ["a","b","c","d"];
let arr2 = [1,2,3,...arr1,4,5];
将解构赋值与展开运算相结合
let obj = {
a:1,
b:2
}
let obj2 = {
...obj,
c:3,
d:4
}
let {a,b,...c} = obj2;
console.log(c);
作用: 用来构建某一个类型的对象
构造函数: 用来构建某一个类型的对象的函数
Set( ) 可以接受指定目标来作为参数,相较于直接使用new而言可以达到去重效果
let arr = [1,2,2,3,3,4,4,5];
let str = new Set(arr);
方法:
str.size;
str.clear();
str.delete(3)
str.has(3)
str.add("a");
map对象与obj的区别:
使用方法:
maps.size
maps.delete("a")
maps.get("key1")
maps.has("a")
maps.set("key2",4321);