Function Property Destructuring
const argDestructureFn = ({name: nameProp = 'Erick'} = {name: ''}) => `fn(${nameProp})`;
console.log(argDestructureFn({name: 'Daniel'}));
console.log(argDestructureFn({}));
console.log(argDestructureFn(undefined));
try {
console.log(argDestructureFn(null));
} catch (e) {
console.log(e);
}
const propDestructureFnFail = (param = {name: ''}) => {
const {name: nameProp = 'Erick'} = param;
return `fn(${nameProp})`
};
console.log(propDestructureFnFail({name: 'Daniel'}));
console.log(propDestructureFnFail({}));
console.log(propDestructureFnFail(undefined));
try {
console.log(propDestructureFnFail(null));
} catch (e) {
console.log(e);
}
const propDestructureFnPass = (param) => {
const {name: nameProp = 'Erick'} = param || {name: 'Erick'};
return `fn(${nameProp})`
};
console.log(propDestructureFnPass({name: 'Daniel'}));
console.log(propDestructureFnPass({}));
console.log(propDestructureFnPass(undefined));
console.log(propDestructureFnPass(null));
no comments