Object.isSealed( object )メソッドは、引数「object」に指定したオブジェクトの既存プロパティの設定変更、既存プロパティの削除、新プロパティ追加ができないかどうか(封印状態かどうか)を調べるメソッド。
構文
Object.isSealed( object )
引数
- object
- 既存プロパティの設定変更、既存プロパティの削除、新プロパティ追加ができるかどうかを調べたいオブジェクトを指定。
戻り値
既存プロパティの設定変更、既存プロパティの削除、新プロパティ追加ができない場合は、「true」を返す。
既存プロパティの設定変更、既存プロパティの削除、新プロパティ追加ができる場合は、「false」を返す。
サンプル
<script type="text/javascript">
var $sampleObjectA = {
$samplePropA: 'サンプルA',
$samplePropB: 'サンプルB',
};
document.write(
'Object.isExtensible( $sampleObjectA ): '
+ Object.isExtensible( $sampleObjectA )
+ '<br />'
);
document.write(
'Object.isSealed( $sampleObjectA ): '
+ Object.isSealed( $sampleObjectA )
+ '<br />'
);
document.write(
'Object.isFrozen( $sampleObjectA ): '
+ Object.isFrozen( $sampleObjectA )
+ '<br />'
);
document.write( '<br />' );
Object.preventExtensions( $sampleObjectA );
document.write(
'Object.isExtensible( $sampleObjectA ): '
+ Object.isExtensible( $sampleObjectA )
+ '<br />'
);
document.write(
'Object.isSealed( $sampleObjectA ): '
+ Object.isSealed( $sampleObjectA )
+ '<br />'
);
document.write(
'Object.isFrozen( $sampleObjectA ): '
+ Object.isFrozen( $sampleObjectA )
+ '<br />'
);
document.write( '<br />' );
// プロパティの追加を試みる
$sampleObjectA.$samplePropC = 'サンプルC';
document.write( '$sampleObjectA.$samplePropC:' + $sampleObjectA.$samplePropC + '<br />' );
// プロパティの削除を試みる
delete $sampleObjectA.$samplePropA;
document.write( '$sampleObjectA.$samplePropA:' + $sampleObjectA.$samplePropA + '<br />' );
// プロパティの変更を試みる
$sampleObjectA.$samplePropB = 'さんぷる②';
document.write( '$sampleObjectA.$samplePropB:' + $sampleObjectA.$samplePropB + '<br />' );
</script>
var $sampleObjectA = {
$samplePropA: 'サンプルA',
$samplePropB: 'サンプルB',
};
document.write(
'Object.isExtensible( $sampleObjectA ): '
+ Object.isExtensible( $sampleObjectA )
+ '<br />'
);
document.write(
'Object.isSealed( $sampleObjectA ): '
+ Object.isSealed( $sampleObjectA )
+ '<br />'
);
document.write(
'Object.isFrozen( $sampleObjectA ): '
+ Object.isFrozen( $sampleObjectA )
+ '<br />'
);
document.write( '<br />' );
Object.preventExtensions( $sampleObjectA );
document.write(
'Object.isExtensible( $sampleObjectA ): '
+ Object.isExtensible( $sampleObjectA )
+ '<br />'
);
document.write(
'Object.isSealed( $sampleObjectA ): '
+ Object.isSealed( $sampleObjectA )
+ '<br />'
);
document.write(
'Object.isFrozen( $sampleObjectA ): '
+ Object.isFrozen( $sampleObjectA )
+ '<br />'
);
document.write( '<br />' );
// プロパティの追加を試みる
$sampleObjectA.$samplePropC = 'サンプルC';
document.write( '$sampleObjectA.$samplePropC:' + $sampleObjectA.$samplePropC + '<br />' );
// プロパティの削除を試みる
delete $sampleObjectA.$samplePropA;
document.write( '$sampleObjectA.$samplePropA:' + $sampleObjectA.$samplePropA + '<br />' );
// プロパティの変更を試みる
$sampleObjectA.$samplePropB = 'さんぷる②';
document.write( '$sampleObjectA.$samplePropB:' + $sampleObjectA.$samplePropB + '<br />' );
</script>
↓↓↓出力結果↓↓↓