11.1 概览
默认参数值:
function findClosestShape(x=0, y=0) {
// ...
}
剩余参数:
function format(pattern, ...params) {
return params;
}
console.log(format('a', 'b', 'c')); // ['b', 'c']
运用解构的命名参数:
function selectEntries({ start=0, end=-1, step=1 } = {}) {
// The object pattern is an abbreviation of:
// { start: start=0, end: end=-1, step: step=1 }
// Use the variables `start`, `end` and `step` here
···
}
selectEntries({ start: 10, end: 30, step: 2 });
selectEntries({ step: 3 });
selectEntries({});
selectEntries();
11.1.1 扩展操作符( Spread operator )(...)
在函数和构造器的调用中,扩展操作符把可迭代的值转换成参数:
> Math.max(-1, 5, 11, 3)
11
> Math.max(...[-1, 5, 11, 3])
11
> Math.max(-1, ...[-1, 5, 11], 3)
11
在数组字面量中,扩展操作符将可迭代的一组值转换成数组元素:
> [1, ...[2,3], 4]
[1, 2, 3, 4]