以前,当我们向一个函数传递多个参数时,会采取配置对象的模式:
doSomething({ foo: 'Hello', bar: 'Hey!', baz: 42 });
function doSomething(config) {
const foo = config.foo !== undefined ? config.foo : 'Hi';
const bar = config.bar !== undefined ? config.bar : 'Yo!';
const baz = config.baz !== undefined ? config.baz : 13;
// ...
}
但是在es2015中,我们可以这样使用:
function doSomething({ foo = 'Hi', bar = 'Yo!', baz = 13 }) {
// ...
}
如果你需要这个配置对象的参数变成可选的,可以这样:
function doSomething({ foo = 'Hi', bar = 'Yo!', baz = 13 } = {}) {
// ...
}