一、 数组的解构赋值
1.1 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构 。
以前为变量赋值,只能直接指定值。例如
let a = 1;
let b = 2;
let c = 3;
es6可以写成这样
let[a,b,c]=[1,2,3];
上面的代码表示可以从数组中提取值,按照对应位置,对变量赋值。
如果解构不成功,变量的值就等于undefined。
1.2 不完全解构
1.2.1 变量名比等号右侧的值少,且没有其他特殊处理的话,多出的值会被忽略
let [a,b,c] = [10,15,17,23,31]
//a 10 b 15 c 17
1.2.2 变量名比等号右侧的值多,多出的变量名值为undefined
let [a1,b1,c1] = [10,15]
// a1 10 b1 15 c1 undefined
1.2.3 剩余运算符(...) ,会将剩下的值以数组的方式存储到c2变量中
let [a2,b2,...c2] = [10,15,17,23,31]
//a2 10 b2 15 c2
1.2.4 默认值,当等号左侧的变量设置了默认值,在等号右侧又可以找到匹配的值,那么变量的值使用等号右侧匹配的值
let [a3,b3,c3='default'] = [10,15,'zhangsan']
console.log(c3);
// 结果是 zhangsan
let [test = 12] = [undefined];
console.log(test);
// 结果是 12
let [test1 = 12] = [null];
console.log(test1);
// 结果是 null
1.3 对象的解构赋值
对象的解构赋值
1. 等号左边要使用花括号({})包裹变量名
2. 变量名要和对象中解构的属性名一致
3. 等号右边就是要解构的对象
1.4 运算符的复习
运算符的分类:算术运算符 比较运算符 赋值运算符 逻辑运算符 字符串拼接运算符 三元运 算符
算术运算符:+ - * / % ++ --
比较运算符:> < >= <= != == !== ===
= == ===的区别
= 表示赋值 ,就是把等号右边赋值给等号左边的变量
== 表示比较,如果两边的值相等,返回true,否则返回false,忽略数据类型
=== 表示比较 两边的值和数据类型都相同时,返回true,否则返回false
赋值运算符:= += -= *= /= %=
例: a+=b 等于 a=a+b
逻辑运算符:&& || !
大多数情况都会用在条件里边
&& 只有当两边的条件都为真时,整体返回true,其他情况全返回false
|| 只有当两边的条件都为假时,整体返回false,其他情况全返回true
! 非真即假 非假即真
字符串拼接运算 变量和字符串拼接
例: 5+5 结果:10
10+‘5’ 结果 :105
三元运算符
条件?条件为真的执行:条件为假的执行
1.5 运算符的拓展
指数运算符的符号 **
指数赋值运算符的符号 **=