
1:函数参数的默认值
在ES6之前不能直接为函数设置默认值,只能在函数内单独判断处理。ES6可以为函数设置默认值。

注意:参数变量是默认声明的,因此不允许在函数内部重新使用let 和const 声明,var 可以(不过一般不能这样做)

可以与解构赋值默认值结合使用。
实例


作用域:

注意:一旦设置了参数的默认值,函数进行声明初始化时,参数会形成一个单独的作用域(context)。等到初始化结束,这个作用域就会消失。这种语法行为,在不设置参数默认值时,是不会出现的。

2:rest参数
用途:用于获取函数的多余参数,可以替代arguments对象。符号 :...

形参是对象:

3:扩展运算符
用途:将一个数组转为用逗号分隔的参数序列,运算符也是(...),相当于 rest 的逆运算。

应用场景
1:合并数组:

2:将实现Iterator接口的对象转为真正的数组
例如Set,Map,nodeList对象可以转为真正的数组。因为类数组对象没有实现Iterator接口所以不行,只能使用Array.from()来实现

3:字符串转为数组(可以用来解决判断字符串第几位是某个值,避免在截字符串了)

4:与解构结合获取剩余参数,其实和rest 差不多。

网友评论