new binding creates a new empty object, sets that object as this, links the object to the function's prototype, executes the function, and returns the object (unless the function returns another object).
When a function is called with the new keyword, the following steps occur internally: (1) a new empty object is created, (2) the this inside the function is bound to this new object, (3) the object's prototype is set to the function's prototype property, (4) the function is executed with this set to the new object, and (5) if the function doesn't return an object, the new object is returned. Example: function Car(model) { this.model = model; } const tesla = new Car('Model S'); console.log(tesla.model); // 'Model S'.