In JavaScript, why does this default destructured object parameter call get an error?

24 Views Asked by At
function someFunc({name = "defaultName"} = {}) {
  console.log(name);
}

if I call someFunc(null);

I get Error: Cannot read properties of null (reading 'name')

I expected "defaultName" Why do I get an error?

If I call

someFunc({name:"differentName"});
someFunc();
someFunc({});
someFunc(undefined);
someFunc({differentKey:""});
someFunc({name:undefined});
someFunc({name:null});

With these calls I get:

"differentName"
"defaultName"
"defaultName"
"defaultName"
"defaultName"
"defaultName"
null

FYI (not part of the question) if change {name = "defaultName"} = {} to {name = "defaultName"} then someFunc(); and someFunc(undefined); also don't work.

0

There are 0 best solutions below