给动态变量设置默认值是一个非常好的实践,可以预防发生意想不到的错误。下面是一个常见错误的例子:
function addTwoNumbers(a, b) {
?? console.log(a + b);
??}
??addTwoNumbers();
??// NaN
结果是 "NaN",因为 a 是未赋值 "undefined",b 也是未赋值 "undefined"。如果设置了默认值,就可以避免这样的错误。比如:
function addTwoNumbers(a, b) {
?? if (!a) a = 0;
?? if (!b) b = 0;
?? console.log(a + b);
??}
??addTwoNumbers();
??// 0
或者,可以像下面这样,使用ES6中引入的默认值特性:
??function addTwoNumbers(a = 0, b = 0) {
?? console.log(a + b);
??}
??addTwoNumbers();
??// 0
这个例子虽然很小,但是强调了默认值的重要性。另外,当预期的值没有出现时,开发者可以提供错误信息或警告信息。