NodeJS动态传参特性:不定个数参数的省略,默认值与解构
Node.JS现在发展很快,几乎一年一个大版本。下面是关于ES6参数的一些新用法。
参数默认值
以前对于一些可以省略的参数,我们经常会用到下面的用法:
function doTask (who, options) {
options = options || {}
}
现在 options = options || {} 可以省略了,可以写成
function doTask (who, options = {}) {
}
不定参数的省略
之前我们在给一个函数传不定个数的参数时,需要处理arguments ,并将其转化成Array对象
function assginTaskTo (taskInfo) {
//除去第一个参数,将后面的参数变成数组users
var users = Array.prototype.slice.call(arguments, 1)
console.log(users)
}
调用和输出结果
assginTaskTo({ name: 'test' }, 'kris', 'Lee', 'Alice')
> [ 'kris', 'Lee', 'Alice' ]
现在可以写成这样的,users默认是array
function assginTaskTo (taskInfo, ...users) {
console.log(users)
}
参数解构
在Javascript中普遍模式是将一个对象作为配置可选项,以前,这些选项得手工从对象中分解出来然后分配给相应变量。
function doTask (who, options) {
options = options || ''
var name = options.name
var time = options.time
}
现在只需要一行即可:
function doTask (who, options = {}) {
var { name, time } = options
}