How can I initialize correctly my Int variable in JS ?
var h = {
baz: 0
} // or {} has same result => 42
function foo(opt) {
opt.baz ||= 42;
return opt.baz;
}
foo(h);
it's because 0 == false is true...
So how can I properly define my variable default value?
You can use Logical nullish assignment:
var h = {baz: 0}
function foo(opt){
opt.baz ??= 42;
return opt.baz;
}
console.log(foo(h));
UPD: in case if you need to handle NaN:
var h = {baz: NaN}
function foo(opt){
var defaultOpt = { baz: 42 }
opt.baz = Number.isNaN(opt.baz)
? defaultOpt.baz
: opt.baz ?? defaultOpt.baz;
return opt.baz;
}
console.log(foo(h));