Explain the concept of objects in JavaScript. How do you create an object using object initializers and constructor functions? Provide examples. [6 Marks]
The Correct Answer and Explanation is:
In JavaScript, an object is a collection of properties, each consisting of a key (also called a property name) and a corresponding value. Objects are used to store multiple values in a single variable and are essential in managing complex data. JavaScript objects can represent real-world entities, such as a car, person, or student, with attributes and behaviors (methods).
Creating Objects Using Object Initializers (Object Literals)
The object initializer, also called object literal notation, is the most common and straightforward way to create an object. An object literal consists of a list of key-value pairs enclosed in curly braces {}.
Syntax:
javascriptCopyEditconst person = {
firstName: "John",
lastName: "Doe",
age: 30,
greet: function() {
console.log("Hello " + this.firstName);
}
};
Here:
firstName,lastName, andageare properties of thepersonobject.greetis a method (a function inside an object).- You access object properties using the dot notation:
person.firstNameorperson['firstName'].
Creating Objects Using Constructor Functions
A constructor function is another way to create objects in JavaScript. A constructor function is simply a regular function, but it is used with the new keyword to create a new object instance. Constructor functions are useful for creating multiple objects with the same structure.
Syntax:
javascriptCopyEditfunction Person(firstName, lastName, age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.greet = function() {
console.log("Hello " + this.firstName);
};
}
const person1 = new Person("John", "Doe", 30);
const person2 = new Person("Jane", "Doe", 28);
Here:
- The
Personfunction acts as a blueprint. - The
newkeyword creates a new instance of thePersonobject with its own set of properties. thisrefers to the current instance of the object.
In conclusion, object initializers are a quick and concise way to create objects, while constructor functions allow you to create multiple objects with the same properties and methods. Both methods are commonly used in JavaScript depending on the situation.
