JavaScript Object.seal()

定义和用法

Object.seal() 此方法用于阻止对象属性的添加或删除,并使现有属性不可配置。

Object.seal() 在非严格模式下,此方法会静默失败。

Object.seal() 在严格模式下,此方法会抛出 TypeError。

可以使用 Object.isSealed() 用于检查对象是否被密封的方法。

方法:

Object.preventExtensions() Izinkan perubahan, tetapi hentikan penambahan sifat.

Object.seal() Izinkan perubahan, tetapi hentikan penambahan dan penghapusan sifat.

Object.freeze() Hentikan perubahan, penambahan dan penghapusan sifat.

Object.isExtensible() Jika objek dapat diperluas, kembalikan true.

Object.isSealed() Jika objek disegel, kembalikan true.

Object.isFrozen() Jika objek disegel, kembalikan true.

Contoh

Contoh 1

"use strict"
// Buat objek
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// Segel objek
Object.seal(person);
// Tindakan berikut akan melempar kesalahan
delete person.age;

Cuba sendiri

Contoh 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.seal(fruits);
// Tindakan berikut akan melempar kesalahan:
fruits.push("Kiwi");

Cuba sendiri

Sintaks

Object.seal(object)

Parameter

Parameter Penerangan
object Diperlukan. Objek yang perlu disegel.

Hasil balik

Jenis Penerangan
Object Objek yang disegel.

Dukungan pelayar

Object.seal() Merupakan ciri-ciri ECMAScript5 (ES5).

Dari bulan Julai 2013, semua pelayar modern sepenuhnya mendukung 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