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).
console.log(person.name); // Alice
person.greet(); // Hello, my name is Alice
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.