What is the difference between `new Object()` and object literal notation in JavaScript?

Both new Object() notation and Object literal({}) notations do the same thing. They initialize an object. However, the second notation can be a little different if you start adding properties to it.


let a = {
   name: 'Ayush'

This initialization is equivalent to −

let a = new Object();
a.name = 'Ayush'


let a = {}
a.name = 'Ayush'