Assume we have a function that use some keys in the inner object of argument:
const api = ({ data: { name } = {} }) =>
  `My name is ${name}.`;
If we pass {}, { data: '' }, { data: 0 }, { data: NaN } or { data: undefined } to the function we will see:
'My name is undefined.'
And won't see any error, because destructuring assignment sees the data is falsy and use  = {} instead then the name will be undefined.
Question: Why destructuring assignment return error when we pass null to data key?
api({ data: null });
// ==> Uncaught TypeError: Cannot destructure property 'name' of '{}' as it is null.
 
    