ES6 笔记 Rest 参数和 默认参数

函数中剩余的参数可以用...符号来放入一个数组张

function containsAll(haystack, ...needles) {
  for (var needle of needles) {
    if (haystack.indexOf(needle) === -1) {
      return false;
    }
  }
  return true;
}

如果调用containsAll("banana", "b", "nan")needles会被设置为["b", "nan"]

只有最后一个参数可以被设置为rest参数

默认参数

函数参数可以设置默认参数

function animalSentence(animals2="tigers", animals3="bears") {
    return `Lions and ${animals2} and ${animals3}! Oh my!`;
}

位置靠后的参数的默认值可以使用前面参数的值

function animalSentenceFancy(animals2="tigers",
    animals3=(animals2 == "bears") ? "sealions" : "bears")
{
  return `Lions and ${animals2} and ${animals3}! Oh my!`;
}

传递undefined等同于没有传参数,会使用默认值

你可能感兴趣的:(ES6 笔记 Rest 参数和 默认参数)