Javascript/ES6默认函数参数用法
灵活的函数参数会导致问题,JS允许我们调用一个没有参数或没有定义参数的函数,而也许这个被调用函数对参数是有默认要求的,手工使用if代码检查是通常办法:
function loadProfiles (userNames) {
let names = typeof userNames !== 'undefined' ? userNames || [];
...// 可以安全使用names了
}
Javascript 6能让你在函数定义中设置默认参数,将函数体中默认值设置迁移到函数签名中:
function loadProfiles (userNames = []) {
...// 可以安全使用names了
}
再看另外一个案例:
let getFinalPrice = (price, tax=0.7) => price + price * tax;
getFinalPrice(500); // 850