ES9 中引入了一个新的特性:可选参数的默认值。这个特性允许我们在函数的参数列表中为参数指定默认值,如果调用者没有传递参数,那么将使用该默认值。这一特性在函数定义和调用时都非常灵活,是前端开发中不可或缺的一部分。
什么是可选参数的默认值
可选参数的默认值是指,当函数调用者没有传入实参时,函数内部使用的默认值,这样就避免了因为传参不正确而导致的程序出错问题。
如何使用可选参数的默认值
在 ES9 中,可选参数的默认值的语法格式为 functionName(param1 = defaultValue1, param2 = defaultValue2)
。这个语法格式可以体现在函数定义和函数调用时:
函数定义中使用可选参数的默认值
function greeting(name = 'World') { console.log(`Hello, ${name}!`); } greeting(); // 输出: Hello, World! greeting('Alice'); // 输出: Hello, Alice!
在上面的例子中,在没有传递参数的时候会默认使用 World
,传递了参数时则使用传递的参数。
还可以使用函数的后续参数来设置默认值。示例如下:
function sayHello(firstName, lastName = 'Smith', title = 'Mr.') { console.log(`Hello, ${title} ${firstName} ${lastName}!`); } sayHello('John'); // 输出:Hello, Mr. John Smith! sayHello('Ada', 'Lovelace', 'Ms.'); // 输出:Hello, Ms. Ada Lovelace!
在这个示例中,lastName
和 title
中都定义了默认值。如果没有传递指定的参数,则使用默认值。
函数调用中使用可选参数的默认值
也可以在函数调用中定义默认参数值:
function addNumbers(x = 0, y = 0, z = 0) { return x + y + z; } console.log(addNumbers(1, 2, 3)); // 输出: 6 console.log(addNumbers(1, 2)); // 输出: 3 console.log(addNumbers(1)); // 输出: 1 console.log(addNumbers()); // 输出: 0
在这个例子中,我们定义了一个函数 addNumbers
,它接受三个可选参数。如果调用者不传递实参,那么将使用默认值。
可选参数默认值的指导意义
可选参数的默认值给前端开发带来了很多好处,它可以使代码更加简洁,更容易维护性和可读性,尤其是在需要传入很多可选参数的场景下,如表单验证等等。并且,由于函数定义中的默认值,故在函数调用时即使没有传递某些参数,代码也能正常工作。
总结
可选参数的默认值是 ES9 中非常实用的一个特性,它可以帮助我们写出更简洁、更易读的代码。我们可以在函数定义和调用中都利用这个特性。在此之前,我们需要考虑如何避免一些可选参数没有传递,代码的健壮性非常重要。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6472cb12968c7c53b005fa2c