JavaScript Object.freeze()

Định nghĩa và cách sử dụng

Object.freeze() Phương pháp được sử dụng để ngăn chặn bất kỳ thay đổi nào đối với đối tượng.

Trong chế độ không chặt chẽ,Object.freeze() Phương pháp sẽ thất bại im lặng.

Trong chế độ chặt chẽ,Object.freeze() Phương pháp sẽ ném TypeError.

Đối tượng bị đóng băng là chỉ đọc. Không được phép sửa đổi, thêm hoặc xóa thuộc tính.

Có thể sử dụng Object.isFrozen() Phương pháp để kiểm tra đối tượng có bị đóng băng hay không.

Phương pháp liên quan:

Object.preventExtensions() Cho phép sửa đổi, nhưng ngăn chặn việc thêm thuộc tính.

Object.seal() Cho phép sửa đổi, nhưng chặn việc thêm và xóa thuộc tính.

Object.freeze() Chặn việc sửa đổi, thêm và xóa thuộc tính.

Object.isExtensible() Nếu đối tượng có thể mở rộng, sẽ trả về true.

Object.isSealed() Nếu đối tượng bị niêm phong, sẽ trả về true.

Object.isFrozen() Nếu đối tượng bị đóng băng, sẽ trả về true.

Mẫu

Ví dụ 1

"use strict"
// Tạo đối tượng
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// Đóng băng đối tượng
Object.freeze(person);
// Điều này sẽ ném lỗi
person.age = 51;

Thử ngay

Ví dụ 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// Điều này sẽ ném lỗi:
fruits.push("Kiwi");

Thử ngay

Cú pháp

Object.freeze(object)

Tham số

Tham số Mô tả
object Bắt buộc. Đối tượng cần đóng băng.

Giá trị trả về

Loại Mô tả
Object Đối tượng bị đóng băng.

Hỗ trợ trình duyệt

Object.freeze() Là tính năng của ECMAScript5 (ES5).

Từ tháng 7 năm 2013, tất cả các trình duyệt hiện đại đều hỗ trợ hoàn toàn ES5 (JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
Tháng 9 năm 2012 Tháng 9 năm 2012 Tháng 4 năm 2013 Tháng 7 năm 2012 Tháng 7 năm 2013