当前位置:  首页>> 技术小册>> ES6入门指南

ES6 新增许多新的语言特性和增强了现有的特性,其中包括不定参数和默认参数。


1、不定参数

不定参数是 ES6 中的一项新功能,它允许我们传递任意数量的参数给一个函数。在函数定义中,我们使用三个连续的点号(…)来指示函数可以接受任意数量的参数。这些参数将被转换成一个数组,可以像数组一样进行操作。以下是一个示例:

  1. function sum(...numbers) {
  2. let result = 0;
  3. for (let number of numbers) {
  4. result += number;
  5. }
  6. return result;
  7. }
  8. console.log(sum(1, 2, 3)); // 输出 6
  9. console.log(sum(4, 5, 6, 7, 8)); // 输出 30

在上面的代码中,我们定义了一个名为 sum 的函数,它接受任意数量的参数。在函数体中,我们将这些参数相加,并将结果返回。我们可以看到,我们可以将任意数量的数字传递给函数,它将正确地计算它们的总和。

在实际应用中,不定参数非常有用。例如,假设我们需要编写一个函数来计算一组数字的平均值,但我们不知道有多少个数字。使用不定参数,我们可以轻松地处理这种情况,而不必手动计算数组的长度或限制参数的数量。

2、默认参数

默认参数是另一个 ES6 中的新特性,它允许我们为函数参数提供默认值。这意味着如果我们在调用函数时没有为参数提供值,则函数将使用默认值。以下是一个示例:

  1. function greet(name = 'World') {
  2. console.log(`Hello, ${name}!`);
  3. }
  4. greet(); // 输出 "Hello, World!"
  5. greet('John'); // 输出 "Hello, John!"

在上面的代码中,我们定义了一个名为 greet 的函数,它接受一个名为 name 的参数。我们为 name 参数提供了一个默认值 ‘World’。如果我们调用 greet 函数时没有提供任何参数,它将使用默认值 ‘World’。如果我们提供一个参数,它将使用该参数的值。

默认参数非常有用,特别是当我们希望在调用函数时提供某些参数的默认值时。例如,假设我们需要编写一个函数来打印一条消息,但我们希望该消息的颜色默认为蓝色。我们可以使用默认参数来实现这一点,如下所示:

  1. function printMessage(message, color = 'blue') {
  2. console.log(`%c${message}`, `color: ${color}`);
  3. }
  4. printMessage('Hello, World!'); // 输出 "Hello,World!",使用默认颜色 "blue"
  5. printMessage('Welcome!', 'green'); // 输出 "Welcome!",使用指定颜色 "green"

在上面的代码中,我们定义了一个名为 printMessage 的函数,它接受两个参数:messagecolor。我们为 color 参数提供了默认值 'blue'。在函数体中,我们使用 console.log 方法来打印消息,并将颜色设置为指定的或默认的颜色。

3、不定参数和默认参数的结合使用

不定参数和默认参数可以结合使用,以提供更灵活的函数定义。例如,假设我们需要编写一个函数来计算一组数字的平均值,并希望可以传递一个参数来指定是否应该四舍五入结果。我们可以使用不定参数和默认参数来实现这一点,如下所示:

  1. function average(...numbers, round = false) {
  2. let sum = 0;
  3. for (let number of numbers) {
  4. sum += number;
  5. }
  6. let result = sum / numbers.length;
  7. if (round) {
  8. result = Math.round(result);
  9. }
  10. return result;
  11. }
  12. console.log(average(1, 2, 3)); // 输出 2
  13. console.log(average(4, 5, 6, 7, 8, 9, 10, true)); // 输出 7

在上面的代码中,我们定义了一个名为 average 的函数,它接受任意数量的数字参数。我们为 round 参数提供了一个默认值 false。在函数体中,我们计算数字的平均值,并根据 round 参数来决定是否四舍五入结果。

在上面的示例中,我们可以看到如何同时使用不定参数和默认参数。通过这种方式,我们可以定义灵活且可重用的函数,它们可以处理任意数量的参数,并且具有默认值,以便在不需要传递值时提供良好的默认行为。

小结
不定参数允许我们在函数定义中接受任意数量的参数,并将它们转换为一个数组进行操作。默认参数允许我们为函数参数提供默认值,以便在调用函数时不需要传递值时提供良好的默认行为。


该分类下的相关小册推荐: