我知道在 es6 中定义函数时,您可以使用带有参数(Rest Parameters)的扩展运算符语法,如下所示:
function logEach(...things) {
things.forEach(function(thing) {
console.log(thing);
});
}
logEach("a", "b", "c");
// "a" // "b" // "c"
我的问题 :
您可以将默认参数与扩展语法一起使用吗?这似乎不起作用:
function logDefault(...things = 'nothing to Log'){
things.forEach(function(thing) {
console.log(thing);
});
}
//Error: Unexpected token =
// Note: Using Babel
最佳答案
不,当没有剩余参数时,rest 参数会被分配一个空数组;没有办法为其提供默认值。
你会想要使用
function logEach(...things) {
for (const thing of (things.length ? things : ['nothing to Log'])) {
console.log(thing);
}
}
关于javascript - 在 ES6 中使用扩展语法时使用默认参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40118614/