Current date Tháng 5 18, 2026
JavaScript Reference

JavaScript Reference – Tập 6: Làm chủ Đối tượng (Objects) nâng cao

URL copied
Share URL copied
JavaScript Reference - Tập 6: Làm chủ Đối tượng (Objects) nâng cao
JavaScript Reference – Tập 6: Làm chủ Đối tượng (Objects) nâng cao

1. Trích xuất dữ liệu

Thay vì dùng vòng lặp `for…in`, các hàm này trả về một mảng để bạn có thể kết hợp với `map()` hoặc `filter()` cực kỳ tiện lợi:

  • `Object.keys(obj)`: Trả về mảng chứa tên của tất cả các biến (Keys).
  • `Object.values(obj)`: Trả về mảng chứa tất cả giá trị (Values).
  • `Object.entries(obj)`: Trả về mảng chứa các cặp `[key, value]`.

2. Sao chép và Hợp nhất (Assign)

Phương thức `Object.assign(target, source)` dùng để sao chép thuộc tính từ một hoặc nhiều đối tượng nguồn vào một đối tượng đích.

const user = { name: "Tuấn" };
const info = { age: 28 };
const fullProfile = Object.assign({}, user, info);

Mẹo: Ngày nay, người ta thường dùng toán tử Spread `const fullProfile = {…user, …info}` để ngắn gọn hơn.

3. Bảo vệ đối tượng (Protection)

Trong các dự án lớn, bạn có thể muốn ngăn chặn việc người khác vô tình sửa đổi dữ liệu quan trọng:

  • `Object.freeze(obj)`: “Đóng băng” hoàn toàn. Không thể thêm, xóa hay sửa bất kỳ thuộc tính nào.
  • `Object.seal(obj)`: “Niêm phong”. Có thể sửa giá trị của thuộc tính hiện có nhưng không thể thêm hoặc xóa thuộc tính.

4. Chuyển đổi từ Mảng (fromEntries)

Ngược lại với `entries()`, `Object.fromEntries()` nhận vào một danh sách các cặp key-value và biến chúng thành một Object hoàn chỉnh.

5. Nhóm dữ liệu (groupBy) – Mới nhất ES2024

Một phương thức siêu mạnh mẽ mới được bổ sung để nhóm các phần tử dựa trên một tiêu chí nhất định.

const inventory = [
  { name: "Táo", type: "fruit" },
  { name: "Cà rốt", type: "vegetable" },
];
const result = Object.groupBy(inventory, ({ type }) => type);

Lời kết Tập 6

Nắm vững các phương thức xử lý Object sẽ giúp bạn xử lý dữ liệu JSON một cách uyển chuyển. Đây cũng là tập cuối cùng trong Series JavaScript Reference cơ bản.

Chúng ta đã đi qua một hành trình dài từ C++ đến JavaScript toàn diện. Chúc mừng bạn đã hoàn thiện bộ kiến thức nền tảng vững chắc cho sự nghiệp lập trình!

Hẹn gặp lại các bạn trong những series công nghệ tiếp theo trên tuannda.dev!

Share URL copied

Leave a comment

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Active0
AI3
AI & Automation10

Exclusives

Lifestyle

Related Articles

JavaScript Reference – Tập 18: HTMLCollection & NodeList – Quản lý danh sách phần tử

So sánh chi tiết HTMLCollection và NodeList trong JavaScript. Học cách phân...

JavaScript Reference – Tập 17: HTML DOM Style – Điều khiển CSS bằng JS

Hướng dẫn chi tiết cách sử dụng đối tượng Style để thay...

JavaScript Reference – Tập 16: Event Objects – Lắng nghe mọi tương tác

Tìm hiểu toàn diện về các đối tượng sự kiện (Event Objects)...

JavaScript Reference – Tập 15: HTML Attributes – Làm chủ thuộc tính phần tử

Khám phá đối tượng Attributes và NamedNodeMap trong HTML DOM. Học cách...