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 

 

 

如何确保Javascript函数有参数?

Javascript6简明手册