JavaScript Object.freeze()

Definisi dan penggunaan

Object.freeze() Metode untuk mencegah setiap perubahan terhadap objek.

Dalam mode bukan ketat,Object.freeze() Metode akan gagal diam.

Dalam mode ketat,Object.freeze() Metode akan melemparkan TypeError.

Objek yang disekatkan adalah hanya baca. Tidak diizinkan untuk diubah, ditambahkan atau dihapus sifat.

Dapat digunakan Object.isFrozen() Objek yang disekatkan adalah hanya baca. Tidak diizinkan untuk diubah, ditambahkan atau dihapus sifat.

Cara untuk memeriksa objek apakah disekatkan.

Object.preventExtensions() Pengubahsuian dibenarkan, tetapi penambahan sifat disekatkan.

Object.seal() 允許修改,但阻止添加和刪除屬性。

Object.freeze() 阻止修改、添加和刪除屬性。

Object.isExtensible() 如果物件可擴展,則返回 true。

Object.isSealed() 如果物件是密封的,則返回 true。

Object.isFrozen() 如果物件被凍結,則返回 true。

實例

例子 1

"use strict"
// 創建物件
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// 冻結物件
Object.freeze(person);
// 這將拋出錯誤
person.age = 51;

親自試試

例子 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// 這將拋出錯誤:
fruits.push("Kiwi");

親自試試

語法

Object.freeze(object)

參數

參數 描述
object 必需。要凍結的物件。

返回值

類型 描述
Object 被凍結的物件。

瀏覽器支持

Object.freeze() 是 ECMAScript5 (ES5) 的特性。

自 2013 年 7 月起,所有現代瀏覽器均完全支持 ES5(JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
2012 年 9 月 2012 年 9 月 2013 年 4 月 2012 年 7 月 2013 年 7 月