解析 ES6 中的默认参数和 Rest 参数的用法和注意事项

阅读时长 3 分钟读完

在 ES6 中,我们可以使用默认参数和 Rest 参数来更好地处理函数的参数。本文将详细介绍这两种参数的用法和注意事项,并提供示例代码。

默认参数

默认参数是指在函数定义时为参数提供默认值。如果调用函数时没有传递该参数,则使用默认值。

在上面的示例中,我们定义了一个 greet 函数,它有一个参数 name。我们在定义函数时为 name 参数提供了默认值 'world'。如果调用函数时没有传递 name 参数,则使用默认值。如果传递了 name 参数,则使用传递的值。

需要注意的是,默认参数的值只有在函数被调用时才会计算。这意味着如果默认参数是一个对象或数组,它们将在每次调用函数时重新创建。

在上面的示例中,我们定义了一个 createUser 函数,它有两个参数 namepermissions。我们为 permissions 参数提供了默认值 []。在创建用户时,我们只传递了 name 参数,因此默认使用空数组作为 permissions 参数的值。然后我们向 user1permissions 数组中添加了一个元素 'read'。当我们输出 user2permissions 数组时,它是空的,因为 permissions 参数的默认值是一个新的空数组。

Rest 参数

Rest 参数是指在函数定义时使用 ... 语法来捕获多个参数,并将它们存储在一个数组中。

在上面的示例中,我们定义了一个 sum 函数,它使用 Rest 参数 ...numbers 来捕获多个参数,并将它们存储在一个数组中。然后我们使用 reduce 方法对数组中的元素求和并返回结果。

需要注意的是,Rest 参数必须是最后一个参数。否则,将会抛出语法错误。

在上面的示例中,第一个 greet 函数的 Rest 参数 ...names 不在最后一个参数的位置,因此会抛出语法错误。第二个 greet 函数将 Rest 参数放在了最后一个参数的位置,因此不会抛出语法错误。

总结

通过使用默认参数和 Rest 参数,我们可以更好地处理函数的参数。在使用默认参数时,需要注意默认值只会在函数被调用时计算。在使用 Rest 参数时,需要将它放在最后一个参数的位置,否则会抛出语法错误。希望本文对您有所帮助,感谢您的阅读!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65d6e3301886fbafa447d27c

纠错
反馈