ES6 中的默认参数:避免出现 Undefined

阅读时长 3 分钟读完

在 JavaScript 中,函数的参数是可以不传递值的,这时候函数中对应的参数就会被赋值为 undefined。这种情况下,如果在函数内部使用了这个参数,就会出现一些不可预知的错误。为了避免这种情况的发生,ES6 中引入了默认参数的概念。

什么是默认参数

默认参数是指在函数定义时,为参数指定一个默认值。当调用函数时,如果未传递这个参数,函数就会使用默认值。

在 ES6 之前,我们通常使用以下方式来实现默认参数:

但是这种方式存在一个问题,如果传递的参数是 false、0、空字符串等 falsy 值,就会被赋值为默认值。所以 ES6 引入了更加严谨的默认参数语法。

默认参数的语法

默认参数语法非常简单,就是在函数定义时,为参数赋值即可。例如:

这样,如果调用函数时不传递参数,就会使用默认值。

默认参数的注意事项

在使用默认参数时,需要注意以下几点:

默认参数的位置

默认参数只能放在参数列表的最后面,否则会报错。例如:

默认参数的作用域

默认参数的作用域与函数的作用域相同。例如:

默认参数的值是惰性求值的

默认参数的值是在函数调用时计算的,并且只有在需要使用时才会计算。例如:

示例代码

下面是一个使用默认参数的示例代码:

这个函数接收两个参数,如果只传递一个参数,则第二个参数会使用默认值 1。

总结

ES6 中的默认参数能够避免函数参数为 undefined 的情况,提高代码的可读性和可维护性。在使用默认参数时,需要注意默认参数的位置、作用域和惰性求值等问题。

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

纠错
反馈