如何在 ECMAScript 2015 中使用默认参数和可选参数?

阅读时长 4 分钟读完

前言

默认参数和可选参数可以帮助我们更好地组织代码和提高代码的可读性,使用起来也非常方便。在 ECMAScript 2015 中,我们可以轻松地使用它们。本文将会讲解在 ECMAScript 2015 中如何使用默认参数和可选参数,希望能够帮助大家更好地理解和应用它们。

默认参数

默认参数是指当函数没有接收到参数时,函数参数将会使用默认值。在以往的版本中,我们只能手动检查每一个参数是否有值,如果没有,就给它赋默认值。

在 ECMAScript 2015 中,我们可以在函数的定义中直接给函数参数赋默认值。比如下面这个例子:

在这个例子中,我们定义了一个名为 printMessage 的函数,函数接收一个参数 message,默认值为 Hello World。当我们在调用函数时,没有传入参数,那么函数就会使用默认值。

下面再来看一个实用的示例:

在这个例子中,我们定义了一个名为 getName 的函数,函数接收两个参数 firstNamelastNamelastName 的默认值是 Doe。当我们在调用函数时,没有传入 lastName 参数,那么函数将会使用默认值 Doe

需要注意的是,使用默认参数时,只有在参数值为 undefined 时才会使用默认值。如果传入的参数值为 nullfalse 或者空字符串等 falsy 值时,仍然会使用传入的参数值。

可选参数

可选参数是指在函数声明时,没有为该参数提供默认值,但在调用函数时,可以选择性的省略该参数。

在 ECMAScript 2015 中,我们可以使用 undefind 来标记参数的类型和位置,表示函数接收该参数,但是该参数值为 undefined。比如下面这个例子:

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

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

在这个例子中,我们定义了一个名为 printMessage 的函数,函数接收两个参数 messageauthor。在函数内部,我们手动检查了 message 参数是否为 undefined,如果是的话,就抛出一个异常。

需要注意的是,虽然在调用函数时可以只传入 message 参数,但是在函数内部,我们需要手动检查 message 是否传入。这种方式虽然可以实现可选参数,但是并不具备代码的可读性,推荐使用默认参数的方式。

省略参数

省略参数是指使用数组和对象的解构来省略某些参数,这和默认参数和可选参数的概念略有不同。在 ECMAScript 2015 中,我们可以使用数组和对象的解构来实现省略参数。比如下面这个例子:

在这个例子中,我们定义了一个名为 printMessage 的函数,函数接收两个参数:一个用来存储 message 的数组,和一个包含 author 的对象,该参数我们使用了对象的解构来实现。

需要注意的是,在我们没有传入参数时,函数第二个参数使用了对象的默认值 {},这是因为如果我们不定义这个默认值的话,当我们调用函数时,会报错。

结论

在 ECMAScript 2015 中,使用默认参数和可选参数可以轻松地实现可读性高、代码逻辑清晰的函数。通过本文,我们了解了在 ECMAScript 2015 中如何使用默认参数、可选参数和省略参数。希望大家可以将这些知识应用到自己的项目中,写出更加简洁、优美的代码。

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

纠错
反馈