Object.freeze( object )メソッドは、引数「object」に指定したオブジェクトの既存プロパティの値や設定の変更、既存プロパティの削除、新プロパティ追加を凍結するメソッド。
構文
Object.freeze( object )
引数
- object
- 既存プロパティの値や設定の変更、既存プロパティの削除、新プロパティ追加を凍結したいオブジェクトを指定。
戻り値
引数「object」に指定したオブジェクト。
サンプル
<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.freeze( $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.freeze( $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>
↓↓↓出力結果↓↓↓