Hi 🤓 Cảm ơn bạn đã ghé thăm blog này, nếu những bài viết trên blog giúp ích cho bạn. Bạn có thể giúp blog hiển thị quảng cáo bằng cách tạm ngừng ad blocker 😫 và để giúp blog duy trì hoạt động nếu bạn muốn.
Cảm ơn bạn!

Trong bài viết này, chúng ta cùng tìm hiểu về method Object.seal(), cùng xem method này giúp được gì cho chúng ta nhé!

Object.seal() trong Javascript

Khi sử dụng Object.seal(), object được truyền dưới dạng đối số sẽ bị thay đổi trở thành một object không chấp nhận các thuộc tính mới. Ta sẽ không thể thêm mới các thuộc tính. Các thuộc tính hiện có sẽ không thể bị xóa nhưng có thể bị thay đổi.

const students = {
  "01" : "Trang",
  "02": "Ha"
};

Object.seal(students);

Ta sẽ thêm, xóa một thuộc tính trong students:

students["03"] = "Minh";
delete students["01"];
console.log(students); // {01: 'Trang', 02: 'Ha'}

Như các bạn thấy, ta sẽ không thể thêm mới hay xóa thuộc tính của students.

Khi sử dụng Object.seal(), ta có thể thay đổi giá trị thuộc tính của object:

students["02"] = "Hung";

console.log(students); // {01: 'Trang', 02: 'Hung'}

Kết quả sẽ tương tự như khi sử dụng với array:

Ta sẽ không thể thêm phần tử mới vào mảng khi đã sử dụng Object.seal().

const students = ["Trang", "Ha"];

Object.seal(students);

students.push("Nhi"); // Lỗi

Để kiểm tra object hiện đang ở trạng thái seal hay không ta kiểm tra bằng cách:

Object.isSealed(students); // true

Object.seal() vs Object.freeze()

Điểm khác nhau giữa hai method này về cơ bản là ở Object.seal() ta có thể thay đổi giá trị của thuộc tính hiện có trong object, trong khi Object.freeze()immutable có nghĩa là ta sẽ không thể thay đổi thuộc tính của nó.

Các bạn có thể tìm hiểu thêm về Object.freeze() tại: object.freeze() trong JavaScript có gì hay?.

Kết luận

Chúng ta đã cùng nhau tìm hiểu về method Object.seal() trong Javascript, điểm khác nhau giữa nó và method Object.freeze().

Hy vọng bài viết giúp ích được cho các bạn. Hẹn gặp các bạn trong các bài viết tiếp theo.

Có thể bạn thích ⚡
homiedev
About Me

Hi, I'm @devnav. Một người thích chia sẻ kiến thức, đặc biệt là về Frontend 🚀. Trang web này được tạo ra nhằm giúp các bạn học Frontend hiệu quả hơn 🎉😄.

Chúc các bạn tìm được kiến thức hữu ích trong blog này 😁😁.