- 默认参数
在ES5中没有提供直接在函数的参数列表中指定参数默认值的语法,想为函数参数指定默认值,一般通过如下方式实现:
function makeRedirect(url, timeout){
url = url || '/index'
timeout = timeout || 2000
}
在ES6中,简化了为形参提供默认值的过程,可直接在参数列表中为形参指定默认值,如下:
function makeRedirect(url = '/index', timeout = 2000) {
console.log(url)
}
当调用makeRedirect(),则使用参数url和timeout的默认值;当调用makeRedirect('/login'),则使用参数timeout的默认值;当调用makeRedirect(‘/login’, 2000),则不使用默认值
- rest参数
ES6引入了rest参数,在函数的命名参数前添加3个点,表明这是个test参数,用于获取多余的参数。rest参数是一个数组,包含自它之后传入的所有参数,通过这个数组可以访问里面的参数。
每个函数最多只能声明一个rest参数,并且是最后一个参数。如下函数声明是错误的:
// 语法错误:rest parameter must be last formal parameter
function calculate(name, ...data, title) {
}









网友评论