JavaScript Object.seal()

定義と使用法

Object.seal() オブジェクトの属性の追加や削除を防ぎ、既存の属性を設定不可にします。

Object.seal() 非厳格モードでは静かに失敗します。

Object.seal() 厳格モードではTypeErrorが投げられます。

使用できます Object.isSealed() オブジェクトがシールされているか確認するメソッド。

関連メソッド:

Object.preventExtensions() 変更を許可しますが、属性の追加を阻止します。

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.seal(person);
// 以下の操作はエラーを発生させます
delete person.age;

自分で試してみる

例2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.seal(fruits);
// 以下の操作はエラーを発生させます:
fruits.push("Kiwi");

自分で試してみる

構文

Object.seal(object)

パラメータ

パラメータ 説明
object 必要です。密封するオブジェクトを指定します。

返り値

タイプ 説明
Object 密封されたオブジェクトです。

ブラウザのサポート

Object.seal() 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