在使用 es6 的默认参数时,发现跟 coffeeScript 的不同,着实把我坑了下。
fn 函数中的 date 参数有一个默认时间值。
let fn = async(id , date = moment().format('YYYY-MM'), t){};
调用函数时:
fn('1', null, t);
想要使用默认值,但是对于 es6 而言,null 会被视作传入了参数,所以在 fn 中的 date 值为 null,而不是预期的默认时间值。
解决方案:
使用 es5 中常用的默认参数值的手工设定方法
fn(id , date, t){
date = date || moment().format('YYYY-MM');
}