const author = { awesome: 'tushar' , print: function ( ) { console.log( this ); }, }; const reader = { awesome: 'me' }; author.print. call (reader); // { awesome: 'me' } new author.print() // {} Since the print method is invoked with call , this refers to the object that has been passed, i.e, the reader object Since the print is invoked with new keyword, this is a new empty object Well summed btw!!