VK
Size: a a a
GZ
DI
h
const func = (a, b = 2, c) => `a:${a} | b:${b} | c:${c}`спробував передати null
func(10,null,30)
'a:10 | b:null | c:30'
—- але дефолтне значення перезаписуєтьсяfunc(10,undefined,30)чому так і чи є простіше рішення?
'a:10 | b:2 | c:30'
RD
M
M
M
h
S
const func1 = (a, b = 2, c) => {варіант 2
// перевірка на undefined and null
// в принципі, це вбиває сенс дефолтного значення
const actualB = b ?? 2;
return `a:${a} | b:${actualB} | c:${c}`;
};
function falsyToUndefined(value) {
if (!!value === false) {
return undefined;
}
}
const func2 = (a, b = 2, c) => `a:${a} | b:${b} | c:${c}`;
function cleanFunc2(a, b, c) {
return func2(a, falsyToUndefined(b), c);
}
console.log(cleanFunc2(1, null, 2));
S
S
M
M
M
S
S
S
M