编程语言
首页 > 编程语言> > Javascript-在ES6中使用传播语法时使用默认参数吗?

Javascript-在ES6中使用传播语法时使用默认参数吗?

作者:互联网

我了解您可以在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);
  }
}

标签:default-parameters,ecmascript-6,parameters,javascript
来源: https://codeday.me/bug/20191026/1937703.html