如何在 ECMAScript 2017 中正确使用默认参数

阅读时长 3 分钟读完

默认参数是 ECMAScript 2015 引入的一个新特性。它使得我们在函数参数中指定默认值变得更加简单和直观。然而,为了正确使用默认参数,我们需要注意一些细节。本文中,我们将详细介绍这些注意事项,并提供一些示例代码。

基本语法

在 ECMAScript 2015 中,我们可以通过在函数参数中给定默认值来定义默认参数。例如:

在上面的例子中,ab 都有默认值,如果调用 foo(),则会输出 1 2。如果只传递一个参数,比如 foo(3),则会输出 3 2。如果传递两个参数,比如 foo(3, 4),则会输出 3 4

注意事项

必须在参数列表末尾

默认参数必须在函数参数列表的末尾定义。换句话说,如果在定义默认参数的时候,中间省略了某个参数,那么后面的参数就必须指定默认值。

使用 undefined 触发默认值

如果没有传递参数,或传递了 undefined,则默认值会生效。如果传递的参数为 null 或者空字符串 '',则默认值不会生效。

立即执行函数作用域

默认参数会在函数的立即执行函数作用域(immediately invoked function expression scope)中进行求值。这意味着,我们可以在默认参数中访问其他参数和函数作用域内的变量。

不会影响 arguments 对象

如果函数使用了默认参数,那么这些默认参数并不会被包含在 arguments 对象中。arguments 对象中只会包含传递的参数。

总结

默认参数是一个非常方便的特性,可以使我们在编写代码时更加简洁,减少不必要的判断。使用默认参数需要遵循一些注意事项,最好在编写代码时仔细思考才能更好地使用它们。

示例代码

-- -------------------- ---- -------
-- ----------
----- --- - -- - -- - - -- -- - - --

-- ---------
----- ------- - -- ---- - --------- - - --- -- ------------------

-- -----------
----- --------------- - -
  ----- -------
  ------------ ---
--
----- ----------- - -------- - --- -- -
  ----- - ---- - --------------------- ----------- - --------------------------- - - --------
  ------ ------- -------------- -------------------------------
--

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

纠错
反馈