关于ES6新特性
- 块级作用域(let声明)
let声明的变量不存在提升,不允许反复声明
在块级作用域下使用let声明的变量是局部变量,不能被其他作用域访问到
注意:if,else,while,for…所有大括号中都是块级作用域
- 函数增强
- 参数默认值(default)
即使调用函数时没有传入实参值,对应的形参变量也有默认值可用
function 函数名(形参1,形参2,形参n=默认值){
}
- 剩余参数(rest)
专门代替arguments来解决不确定实参值个数的问题
因为arguments是类数组,并非数组,所以不能使用数组家的函数
ES6箭头函数禁止使用arguments
定义函数时,…会自动收集除前几个形参变量外剩余的所有实参值
function 函数名(形参1,形参2,...自定义数组名){
//收集的所有实参值,都自动放在自定义数组中
}
举例:
var add = (...arr)=>arr.reduce((box,elem)=>box