Trong JavaScript, Object là một loại kiểu dữ liệu phức tạp cho phép bạn lưu trữ các cặp khóa-giá trị. Object có thể được sử dụng để đại diện cho các thực thể trong thế giới thực, như người, xe cộ, hoặc bất kỳ đối tượng nào có thuộc tính và hành vi.

1. Cấu trúc của Object

Một Object trong JavaScript có thể chứa nhiều thuộc tính (properties) và phương thức (methods). Mỗi thuộc tính là một cặp khóa-giá trị, trong đó khóa là một chuỗi (string) và giá trị có thể là bất kỳ kiểu dữ liệu nào, bao gồm cả số, chuỗi, mảng, hoặc chính các object khác.

Cú pháp khai báo một Object:

const person = {
  name: 'Alice',
  age: 30,
  isStudent: false,
  greet: function() {
    console.log(`Hello, my name is ${this.name}`);
  }
};

2. Truy cập thuộc tính của Object

Bạn có thể truy cập các thuộc tính của object bằng cách sử dụng dot notation (cú pháp chấm) hoặc bracket notation (cú pháp dấu ngoặc vuông).

  • Dot Notation:
console.log(person.name); // Alice
person.greet();           // Hello, my name is Alice
  • Bracket Notation:
console.log(person['age']); // 30

3. Thêm, sửa đổi và xóa thuộc tính

Bạn có thể thêm hoặc sửa đổi thuộc tính của object bằng cách gán giá trị mới.

person.city = 'New York'; // Thêm thuộc tính mới
person.age = 31;          // Sửa đổi thuộc tính

Để xóa một thuộc tính, bạn có thể sử dụng toán tử delete.

delete person.isStudent; // Xóa thuộc tính

4. Phương thức của Object

Phương thức là các hàm được định nghĩa bên trong một object. Bạn có thể gọi phương thức này bằng cách sử dụng dot notation.

person.greet(); // Gọi phương thức greet

5. Object và Prototype

Mỗi object trong JavaScript đều có một prototype, cho phép chia sẻ thuộc tính và phương thức giữa các object. Điều này giúp tiết kiệm bộ nhớ và tạo ra sự kế thừa trong JavaScript.

6. Một số phương thức làm việc với Object

JavaScript cung cấp nhiều phương thức để làm việc với object, bao gồm:

  • Object.keys(obj): Trả về một mảng chứa các khóa của object.
  • Object.values(obj): Trả về một mảng chứa các giá trị của object.
  • Object.entries(obj): Trả về một mảng chứa các cặp [key, value] của object.

Ví dụ:

const keys = Object.keys(person);   // ['name', 'age', 'city', 'greet']
const values = Object.values(person); // ['Alice', 31, 'New York', function]
const entries = Object.entries(person); // [['name', 'Alice'], ['age', 31], ['city', 'New York'], ['greet', function]]

7. Kết luận

Object là một trong những khái niệm quan trọng nhất trong JavaScript, cho phép bạn tổ chức và làm việc với dữ liệu một cách hiệu quả. Với khả năng lưu trữ các thuộc tính và phương thức, object rất hữu ích trong việc phát triển ứng dụng và xây dựng các mô hình dữ liệu phức tạp.