備忘録的プログラミングリファレンス

isFrozen()、isExtensible()、isSealed() メソッド

Object.isFrozen()Object.isExtensible()Object.isSealed()

 isFrozen()、isExtensible()、isSealed() は、Object の静的メソッドです。
 プロパティの変更を禁止を確認するためのメソッドです。

isFrozen()
プロパティの変更と削除の禁止か/否かを返す
isExtensible()
プロパティの追加が禁止になっているか/否か
isSealed()
プロパティの削除が禁止されているか/否か

 変更の禁止はプロパティのディスクリプタのフラグから推測することもできます。

ディスクリプタ摘要
configurableプロパティの削除ができるか/否か。true の場合ディスクリプタが変更できる
enumerable配列として扱えるか( for...in など)
valueプロパティの値
writableプロパティが変更できるか/否か

isFrozen()

Object.isFrozen()

 isFrozen() メソッドは、プロパティの値の変更と削除の禁止か/否かを返す Object の静的メソッドです。

 freeze() メソッドによって禁止を設定することができます。

defineProperty()
console.log( Object.isFrozen( example_obj ) );

詳しくはExampleを参照してください

 プロパティの値の変更と削除の禁止では、以下のようなディスクリプタ用のプロパティが false になります。

writable: false;
configurable: false;

ページ内 Index

Syntax

in JavaScript

  Object の静的メソッド isFrozen() にオブジェクト名を指定します。

Object.freeze( O );

引数(Parameter Values)

Value摘要
Oオブジェクト名

返り値(Return Values)

 プロパティの変更と削除が禁止されているか/否か

Example

 isFrozen() の例です。プロパティの追加の禁止か/否かも確かめることができます。

isExtensible()

Object.isExtensible()

 isExtensible() メソッドは、プロパティの追加が禁止になっているか/否かを確認するための Object の静的メソッドです。

 preventExtensions() メソッドによって追加の禁止を設定することができます。

Object.isExtensible()
console.log( Object.isExtensible( example_obj ) );

詳しくはExampleを参照してください

ページ内 Index

Syntax

in JavaScript

  Object の静的メソッド isExtensible() にオブジェクト名を指定します。

Object.isExtensible( O );

引数(Parameter Values)

Value摘要
Oオブジェクト名

返り値(Return Values)

 プロパティの追加を禁止しているか/否か

Example

 isExtensible() の例です。

isSealed()

Object.isSealed()

 isSealed() メソッドは、プロパティの削除が禁止されているか/否かを確認するための Object の静的メソッドです。

 seal() メソッドによって禁止を設定することができます。

Object.isSealed()
console.log( Object.isSealed( example_obj );

詳しくはExampleを参照してください

ページ内 Index

Syntax

in JavaScript

  Object の静的メソッド isSealed() にオブジェクト名を指定します。

let flg_seal = Object.isSealed( O );

引数(Parameter Values)

Value摘要
Oオブジェクト名

返り値(Return Values)

 プロパティの削除を禁止しているか/否かを返します。

Example

 isSealed() の例です。