ES6函数添加了一些新的特性,极大的方便了开发者的编程体验:箭头函数的简洁、默认的参数…
函数的默认参数
增加了默认参数(值或表达式
)特性,让我们可以进一步思考函数的输入input(arguments)
,而不是简单的依照理所当然的方式去假定参数类型并据此执行操作代码(避免一些诸如... can not read property of undefined
的错误)
- 不能使用const、let对参数二次声明
- 参数的默认值是一种
惰性计算
(不传参时才会计算默认值)
解构赋值与默认参数
有了默认参数为何还需要解构赋值?我们为了不拘泥于参数地顺序,往往传入一个对象参数
,但是这样我们就需要在声明函数里写注释参数的结构
,繁琐!
- 解构赋值清晰地罗列了
参数信息
。 - 解构赋值也可设置默认值
let { x,y=6 } = { x:1 };
x;//1
y;//2
function getName({ id = 0,sex } = {}){
//id 默认为0,
//sex没有默认
}
rest参数
将参数抽象为一个数组集合
,让开发者更好地处理过多参数地情况
function getName(...rest){
console.log(Array.isArray(rest))
}
getName();// true
箭头函数
这个比使用function 声明简洁了不少。
- 不可作为构造函数new 实例化对象
- 不存在arguments
- 不可做为Generator函数