ECMAScript 2021 中的可选参数与默认参数详解

阅读时长 4 分钟读完

ECMAScript 是一种用于实现脚本语言的标准,而近年来这个标准的更新速度异常快,每年都会有一些新的特性被加入进来。在 ECMAScript 2021 中,可选参数和默认参数是该版本的两个重要特性。本文将详细讲解这两个新特性,包括它们的语法、用法和注意事项,读完后你会对 ECMAScript 2021 有更深刻的认识,并且能够更好地使用这个标准。

可选参数

在 ECMAScript 2021 中,函数的参数可以被标记为可选参数。所谓可选参数是指,当你调用该函数时,你可以传递该参数,也可以不传递该参数。如果你不传递该参数,那么该参数就会被赋予 undefined 值。

可选参数的语法非常简单,只需要在参数名称后面加上 ? 即可。例如:

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

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

在这个示例中,我们定义了一个 greet 函数,并将 name 参数标记为可选参数。如果该函数不传递 name 参数,则 name 参数将为 undefined。如果该函数传递 name 参数,则 name 参数将为传入的参数值(例如 "Bob")。

需要注意的是,可选参数必须位于必填参数的后面。例如,在下面的代码中,我们将 age 参数设置为可选参数并将其放在 name 参数的前面。这将导致编译错误:

默认参数

除了可选参数外,ECMAScript 2021 还支持默认参数。所谓默认参数是指,当你调用该函数时,如果你不传递该参数,则该参数将使用预定义的默认值。这个默认值在函数定义时就已经指定了,因此不需要在函数调用时显式传入参数。

默认参数的语法与可选参数非常相似,只需要在参数名称后面加上 = 和默认值即可。例如:

在这个示例中,我们定义了一个 greet 函数,并将 name 参数设置为默认值 "World"。如果该函数不传递 name 参数,则 name 参数将为该默认值。如果该函数传递 name 参数,则 name 参数将为传入的参数值(例如 "Bob")。

需要注意的是,如果该函数的参数个数比定义时的参数个数少,那么缺失的参数将被赋予默认值。例如,在下面的代码中,我们将 age 参数设置为默认参数,这将导致当该函数仅传递 name 参数时,age 参数将为默认值 18:

总结

ECMAScript 2021 中的可选参数和默认参数是两个非常实用的特性,可以让我们更方便地编写函数并减少代码量。当我们需要定义一个函数时,如果某些参数不是必需的,或者某些参数要有一个默认值,那么这两个特性将非常有用。需要注意的是,在使用这两个特性时,我们需要遵循一些语法和使用方面的约束,这样才能更好地使用 ECMAScript 2021。

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

纠错
反馈