在 JavaScript 中,函数是非常常用的工具。在 ES6 之前,定义函数时常常需要手动检查参数是否存在,否则会导致程序出错。ES6 引入了默认参数,使定义函数时变得更加简单。在 ES9 中,又新增了一个函数参数特性:defaults。
什么是 defaults?
defaults 是 ES9 中新增的函数参数语法特性,用于提供更加方便的默认参数处理方式。通过使用 defaults,可以简单地定义默认值,而不需要使用复杂的逻辑代码来检查函数的参数。
怎么使用 defaults?
defaults 能够在定义函数时使用,也能够在已有函数中的参数列表上添加。
在函数定义时使用 defaults
在函数定义时,你可以使用 defaults 来指定一个参数的默认值:
function printMessage(message = "Hello, world!") { console.log(message); } printMessage(); // "Hello, world!" printMessage("Hi!"); // "Hi!"
在这个示例中,我们定义了一个名为 printMessage()
的函数,它具有一个名为 message
的默认参数,它的默认值为 "Hello, world!"
。
在已有函数中使用 defaults
除了在定义函数时使用 defaults,你还可以在已有函数中的参数列表上使用该特性:
-- -------------------- ---- ------- -------- ------------------- - --- - ----- - ----- - -------- ------- ------- - -------- --------- ------- - ----- - - -------- ------------------------------------------------ - -------------- -- -------- -------------- ------------ ------------- ------ ---- ------- -------- ------- --- -- ---- -------------- ---------------
这个示例中我们定义了一个名为 showMessage()
的函数,它可以接受一个名为 options
的参数,默认为空对象。函数通过解构 options
对象来获取它的值,并使用默认值来填充没有指定的值。
defaults 的指导意义
defaults 的使用可以极大地提高你的代码可读性和代码风格的一致性。它可以减少需要使用复杂代码检查默认参数的数量。
默认参数可以让你在定义函数时,直接给出参数的默认值,而不必去考虑参数是否缺失的问题。如果该参数被省略,那么函数就会使用默认的值。
当您处理用户输入,或形成配置对象时,使用 defaults 可以让你避免在所有情况下重新定义相似的配合项。
总结
defaults 是 ES9 中新增的函数参数语法特性,可以在定义函数时指定默认参数值。使用 defaults 可以减少检查参数恰当性的代码量,有效提高代码可读性和可维护性,是一项非常实用的工具。
示例代码:https://codepen.io/pen/?template=PomYeRy
文本版代码:
-- -------------------- ---- ------- -- ------ -------- -------------------- - ------- -------- - --------------------- - --------------- -- ------- ------- -------------------- -- ----- -- --------- -------- ------------------- - --- - ----- - ----- - -------- ------- ------- - -------- --------- ------- - ----- - - -------- ------------------------------------------------ - -------------- -- -------- -------------- ------------ ------------- ------ ---- ------- -------- ------- --- -- ---- -------------- ---------------
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65010bee95b1f8cacdede755