1.let与const、var区别
声明变量关键字
1.1ES5 : var
(1)有预解析 : 声明提前
(2)没有块级 : 分支和循环大括号是全局
2.1ES6 : let、const
(1)没有预解析 : 变量先声明,后使用
(2)有块级 : 分支和循环大括号是局部
3. 1let和const区别
let : 变量。 可以修改
const : 常量。不可以修改
4.1在ES5 : var
(1)预解析 : 把var声明提升到当前作用域最顶端
(2)没有块级作用域 : 分支和循环大括号里面 是全局变量
2.对象解构赋值
2.1 把对象的属性值 赋值给 变量
let {name,age,sex} = obj
2.2 把变量的值 赋值给 对象
3.数组解构赋值
3.1把数组元素赋值给变量
3.2把变量的值赋值给数组
4.函数参数赋值
4.1把对象的属性值 赋值给 变量
let {name,age,sex} = obj
4.2把变量的值 赋值给 对象
let obj = {name,age,sex}
4.箭头函数
4.1箭头函数 : 相当于function简写
4.1.1把function改成箭头 => (2)把形参小括号() 放到箭头 左边
4.2箭头函数注意点
4. 2.1 当形参只有一个的时候,可以省略形参小括号
4.2.2 如果函数体只有一行,则可以省略大括号.(此时必须省略return)
5.箭头函数的指向
箭头函数this指向 : 箭头函数没有this,箭头函数中的this本质是 访问上级作用域this
小结:
(1)箭头函数不能上下文调用 : 无法修改this指向
(2)箭头函数不能作为构造函数 : 箭头函数没有this
(3)有两种函数最好不要是箭头函数 : 构造函数、事件处理函数
6.展开运算符
展开运算符: ...
作用 : 类似于对象遍历
场景 :
(1)用于连接数组/对象
(2)用于求数组最大值
7.数据类型set
1. Set数据类型:集合。 (类似于数组)
Set和数组最大的区别是: Set无法存储重复数据
2. Set应用 : 数组去重