Consider the Two Snippets
const sayMyName = wizard => {
wizard.name = 'Shazam';
}
let boy = { name: 'Billy' };
sayMyName(boy);
console.log(boy.name);
Since We know that objects in js are passed by reference hence a reference to boy object is assigned a property with value 'Shazam'. Since Object at the stored Reference is changed hence boy's name is changed to 'Shazam'.
const sayMyName = wizard => {
wizard = { name: 'Shazam' };
}
let boy = { name: 'Billy' };
sayMyName(boy);
console.log(boy.name);
Considering above case Here When Boy is passed in sayMyName function why it is behaving as pass by value and boy.name still return 'billy' ?