Object.isExtensible( object )メソッドは、引数「object」に指定したオブジェクトへ新たなプロパティを追加できるかどうかを調べるメソッド。
構文
Object.isExtensible( 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>
↓↓↓出力結果↓↓↓