Open In App

JavaScript new Keyword

JavaScript new keyword is used to create an instance of an object that has a constructor function.

On calling the constructor function with the ‘new’ operator, the following actions are taken:



Syntax:

new constructorFunction(arguments);

Parameters:

Return Value:

Example 1: This example shows the use of a new keyword.




function Fruit(color, taste, seeds) {
    this.color = color;
    this.taste = taste;
    this.seeds = seeds;
}
 
// Create an object
const fruit1 = new Fruit('Yellow', 'Sweet', 1);
 
// Display the result
console.log(fruit1.color);

Output:



Yellow

Explanation: In the above example, the ‘new’ keyword creates an empty object. Here, Fruit() includes three properties ‘color’, ‘taste’, and ‘seeds’ that are declared with ‘this’ keyword. So, a new empty object will now include all these properties i.e. ‘color’, ‘taste’ and ‘seeds’. The newly created objects are returned as fruit1().

Example 2: This example shows the use of a new keyword.




function func() {
    let c = 1;
    this.a = 100;
}
 
// Set the function prototype
func.prototype.b = 200;
 
// Create an object
let obj = new func();
 
// Display the result on console
console.log(obj.a);
 
console.log(obj.b);

Output:

100 
200

Explanation: In the above example, the ‘new’ keyword creates an empty object and then sets the ‘prototype’ property of this empty object to the prototype property of func(). New property ‘b’ is assigned using func.prototype.y. So, the new object will also include ‘b’ property. Then it binds all the properties and functions declared with this keyword to a new empty object. Here, func() includes only one property ‘a’ which is declared with this keyword. So new empty object will now include ‘a’ property. The func() also includes ‘c’ variable which is not declared with this keyword. So ‘c’ will not be included in new object. Lastly, the newly created object is returned. Note that func() does not include areturn statement. The compiler will implicitly insert ‘return this’ at the end.


Article Tags :