1. let
块级作用域+不会有变量提升
2.const
声明常量,常量就是值(内存地址)不能变化的量。具有块级作用域,必须使用初始值。不可提升。
3.解构幅值
let []代表解构
let [a,b,c]=[1,2]; //赋值给了前两个,最后一个undefined
对象解构:变量名字匹配对象属性
name仅用于匹配,把lisi赋值给myName
4.箭头函数
用()=>{}代替function(){}
省略大括号:
省略小括号:
不绑定this关键字,this指向的是函数定义位置的上下文的this(在函数里嵌套,就跟外面函数的this一样;对象不能产生作用域,所以在对象里嵌套时,this可能指向Window)
在形参前加...代表接受所有实参,并组成一个数组。
5.扩展运算符
逗号被console.log当作参数分隔符
可以应用于数组合并
将伪数组转换成真数组
1)
2)伪数组是对象,后面传递的形参,表示重复几次,原来输出是[1,2]现在[2,4].
扩展方法find()返回第一个符合条件的数组成员,没有则返回undefined
找到第一个符合条件的数组成员的位置,没有返回-1
includes()判断某个数组是否包含给定值,返回布尔值
模板字符串 定义用 反单引号,拼接用${}。可以换行。可以调用函数。
判断开头和结尾
.repeat(几次)复制几次
Set
Set 自带size属性类似长度,表明存储几个值