处理null导致的函数默认值失败

92 阅读1分钟
const nullLess = (fn,unValid=[null]) => (...args) => fn(...args.map(item=>new Set(unValid).has(item) && void 0));

拿来试试

const add = (a=1) => console.log(a);
 
add(); // 1
add(null); // null
 
const add2 = nullLess(add);
 
add2(); // 1
add2(null); // 1