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