给动态变量设置默认值是一个非常好的实践,可以预防发生意想不到的错误。下面是一个常见错误的例子:
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