Es2019 中的函数参数与默认值的处理方式

在 Es2015 中,JavaScript 引入了许多新特性,其中包括箭头函数、解构赋值、let 和 const 声明等。而在 Es2019 中,JavaScript 也新增了一些新特性,其中包括函数参数与默认值的处理方式。

传统的函数参数

在 JavaScript 中,函数的参数是非常灵活的。我们可以在函数定义时指定参数,也可以不指定参数。如果不指定参数,我们可以在函数内部通过 arguments 对象获取传入的参数。例如:

在上面的例子中,我们定义了一个 add 函数,它没有指定参数。在函数内部,我们使用了 arguments 对象获取传入的参数,并计算它们的总和。

函数参数的默认值

在 Es2015 中,JavaScript 引入了默认参数的概念。通过指定函数参数的默认值,我们可以在函数调用时省略这些参数。例如:

在上面的例子中,我们定义了一个 greet 函数,它有一个 name 参数,参数的默认值为 'World'。当我们调用 greet 函数时,如果不传入参数,name 参数的默认值为 'World'。

对象解构赋值的默认值

在 Es2019 中,JavaScript 引入了对象解构赋值的默认值。通过指定对象解构赋值的默认值,我们可以在解构赋值时省略这些属性。例如:

在上面的例子中,我们定义了一个 person 对象,它有 name 和 age 两个属性。在解构赋值时,我们指定了 name 和 age 两个属性的默认值,以及 gender 属性的默认值为 'Unknown'。当我们解构赋值时,如果 person 对象中没有对应的属性,将使用默认值。

剩余参数的默认值

在 Es2015 中,JavaScript 引入了剩余参数的概念。通过指定函数的剩余参数,我们可以在函数调用时传入任意数量的参数,并将它们存储在一个数组中。例如:

在上面的例子中,我们定义了一个 sum 函数,它有一个剩余参数 numbers。当我们调用 sum 函数时,可以传入任意数量的参数,并将它们存储在 numbers 数组中。

在 Es2019 中,JavaScript 引入了剩余参数的默认值。通过指定剩余参数的默认值,我们可以在函数调用时省略这些参数。例如:

在上面的例子中,我们定义了一个 sum 函数,它有四个参数:start、end、step 和剩余参数 numbers。其中,step 参数的默认值为 1。当我们调用 sum 函数时,如果不传入 step 参数,将使用默认值。如果传入了剩余参数 numbers,将计算它们的总和并加到结果中。

总结

在 Es2019 中,JavaScript 引入了函数参数与默认值的处理方式。通过指定函数参数的默认值、对象解构赋值的默认值、剩余参数的默认值等,我们可以使函数的定义更加灵活。这些新特性可以帮助我们编写更加简洁、易读、易维护的代码。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65592d1dd2f5e1655d3a4364


纠错
反馈