How do you create a new object in JavaScript?

In JavaScript, objects are one of the fundamental data types.

An object is a collection of properties and methods. A property is a key-value pair, where the key is a string, and the value can be any JavaScript data type, including other objects. A method is a function that is a property of an object.

In this answer, we will explore different ways of creating objects in JavaScript.

1. Using Object Literal:

The simplest way to create an object in JavaScript is by using an object literal. An object literal is a comma-separated list of key-value pairs enclosed in curly braces {}.

Here is an example:

let person = {
  name: "John",
  age: 30,
  hobbies: ["reading", "traveling"],
  address: {
    street: "123 Main St",
    city: "New York",
    country: "USA",
  },
  sayHello: function () {
    console.log("Hello");
  },
};

In this example, we create an object person with four properties: name, age, hobbies, and address. The hobbies property is an array, and the address property is an object itself. We also define a method sayHello that logs "Hello" to the console.

2. Using the Object() Constructor:

JavaScript has a built-in Object() constructor function that can be used to create objects.

Here is an example:

let person = new Object();
person.name = "John";
person.age = 30;
person.hobbies = ["reading", "traveling"];
person.address = {
  street: "123 Main St",
  city: "New York",
  country: "USA",
};
person.sayHello = function () {
  console.log("Hello");
};

In this example, we create an object person by using the Object() constructor function. We then define properties and a method on the object using dot notation.

3. Using Object.create() method:

The Object.create() method is another way to create objects in JavaScript. It creates a new object with the specified prototype object and properties.

For example:

let personProto = {
  sayHello: function () {
    console.log("Hello");
  },
};

let person = Object.create(personProto);
person.name = "John";
person.age = 30;
person.hobbies = ["reading", "traveling"];
person.address = {
  street: "123 Main St",
  city: "New York",
  country: "USA",
};

In this example, we create an object personProto that has a sayHello method. We then create a new object person using the Object.create() method and set its prototype object to personProto. We then define properties on the object using dot notation.

4. Using ES6 Classes

ES6 introduced the class syntax for creating objects in JavaScript.

Here is an example:

class Person {
  constructor(name, age, hobbies, address) {
    this.name = name;
    this.age = age;
    this.hobbies = hobbies;
    this.address = address;
  }

  sayHello() {
    console.log("Hello");
  }
}

let person = new Person("John", 30, ["reading", "traveling"], {
  street: "123 Main St",
  city: "New York",
  country: "USA",
});

In this example, we create a Person class with a constructor that takes four arguments. We define properties on the object using this keyword inside the constructor. We also define a method sayHello on the class. We then create a new object person using the new keyword followed by the Person class constructor with the necessary arguments.

5. Using Function Constructors

Before the introduction of ES6 classes, JavaScript used function constructors to create objects.

Here is an example:

function Person(name, age, hobbies, address) {
  this.name = name;
  this.age = age;
  this.hobbies = hobbies;
  this.address = address;

  this.sayHello = function () {
    console.log("Hello");
  };
}

let person = new Person("John", 30, ["reading", "traveling"], {
  street: "123 Main St",
  city: "New York",
  country: "USA",
});

In this example, we create a Person function constructor that takes four arguments. We define properties on the object using this keyword inside the function constructor. We also define a method sayHello on the function constructor. We then create a new object person using the new keyword followed by the Person function constructor with the necessary arguments.

Thank you for reading, and let’s have conversation with each other

Thank you for reading my article. Let’s have conversation on Twitter and LinkedIn by connecting.

Read more: