DEV Community

Abhay Yt
Abhay Yt

Posted on

Mastering Objects in JavaScript

Objects in JavaScript

In JavaScript, objects are collections of key-value pairs where values can be data (properties) or functions (methods). Objects are fundamental to JavaScript, as nearly everything in JavaScript is an object, including arrays, functions, and even other objects.


1. Creating Objects

A. Object Literal

The simplest way to create an object is using curly braces {}.

Example:

const person = {
  name: "Alice",
  age: 25,
  greet: function () {
    console.log("Hello!");
  },
};

console.log(person.name); // Output: Alice
person.greet(); // Output: Hello!
Enter fullscreen mode Exit fullscreen mode

B. Object Constructor

Using the Object constructor creates an empty object.

Example:

const person = new Object();
person.name = "Bob";
person.age = 30;
person.greet = function () {
  console.log("Hi!");
};

console.log(person.name); // Output: Bob
person.greet(); // Output: Hi!
Enter fullscreen mode Exit fullscreen mode

C. Using Object.create()

This method creates a new object with the specified prototype.

Example:

const prototype = { greet: function () { console.log("Hello!"); } };
const person = Object.create(prototype);
person.name = "Charlie";
console.log(person.name); // Output: Charlie
person.greet(); // Output: Hello!
Enter fullscreen mode Exit fullscreen mode

2. Accessing Object Properties

A. Dot Notation

Access properties using a dot (.).

Example:

console.log(person.name); // Output: Alice
Enter fullscreen mode Exit fullscreen mode

B. Bracket Notation

Access properties using square brackets ([]). Useful for dynamic property names.

Example:

console.log(person["name"]); // Output: Alice
const key = "age";
console.log(person[key]); // Output: 25
Enter fullscreen mode Exit fullscreen mode

3. Adding, Modifying, and Deleting Properties

  • Adding:
person.country = "USA";
console.log(person.country); // Output: USA
Enter fullscreen mode Exit fullscreen mode
  • Modifying:
person.age = 26;
console.log(person.age); // Output: 26
Enter fullscreen mode Exit fullscreen mode
  • Deleting:
delete person.age;
console.log(person.age); // Output: undefined
Enter fullscreen mode Exit fullscreen mode

4. Methods in Objects

When a function is a property of an object, it is called a method.

Example:

const car = {
  brand: "Tesla",
  start: function () {
    console.log("Car started!");
  },
};

car.start(); // Output: Car started!
Enter fullscreen mode Exit fullscreen mode

5. Iterating Over Object Properties

A. Using for...in

Iterate over all enumerable properties of an object.

Example:

for (let key in person) {
  console.log(`${key}: ${person[key]}`);
}
Enter fullscreen mode Exit fullscreen mode

B. Using Object.keys()

Returns an array of an object's keys.

Example:

Object.keys(person).forEach((key) => {
  console.log(`${key}: ${person[key]}`);
});
Enter fullscreen mode Exit fullscreen mode

C. Using Object.entries()

Returns an array of [key, value] pairs.

Example:

Object.entries(person).forEach(([key, value]) => {
  console.log(`${key}: ${value}`);
});
Enter fullscreen mode Exit fullscreen mode

6. Object Methods

JavaScript provides several built-in methods to work with objects.

  • Object.assign(): Copies properties from one object to another.
const target = { a: 1 };
const source = { b: 2 };
Object.assign(target, source);
console.log(target); // Output: { a: 1, b: 2 }
Enter fullscreen mode Exit fullscreen mode
  • Object.freeze(): Prevents modification of an object.
const obj = { a: 1 };
Object.freeze(obj);
obj.a = 2; // No effect
console.log(obj.a); // Output: 1
Enter fullscreen mode Exit fullscreen mode
  • Object.seal(): Prevents adding or removing properties but allows modification of existing properties.
const obj = { a: 1 };
Object.seal(obj);
obj.b = 2; // No effect
obj.a = 3; // Works
console.log(obj); // Output: { a: 3 }
Enter fullscreen mode Exit fullscreen mode

7. Prototypes and Inheritance

Objects in JavaScript have a prototype, which is another object from which they inherit properties and methods.

Example:

const animal = { eats: true };
const dog = Object.create(animal);
dog.barks = true;

console.log(dog.eats); // Output: true (inherited)
console.log(dog.barks); // Output: true
Enter fullscreen mode Exit fullscreen mode

8. Object Destructuring

Destructuring allows extracting properties from an object into variables.

Example:

const person = { name: "Alice", age: 25 };
const { name, age } = person;
console.log(name); // Output: Alice
console.log(age); // Output: 25
Enter fullscreen mode Exit fullscreen mode

9. Summary

  • Objects are key-value pairs that can store properties and methods.
  • Use object literals for simple object creation.
  • Access object properties using dot or bracket notation.
  • Use built-in methods like Object.keys(), Object.assign(), and Object.freeze() for effective object manipulation.
  • Mastering objects is crucial for understanding advanced JavaScript concepts like prototypes and inheritance.

Hi, I'm Abhay Singh Kathayat!
I am a full-stack developer with expertise in both front-end and back-end technologies. I work with a variety of programming languages and frameworks to build efficient, scalable, and user-friendly applications.
Feel free to reach out to me at my business email: kaashshorts28@gmail.com.

Top comments (0)