Object.getOwnPropertyDescriptor( object, propertyName )メソッドは、第1引数「object」に指定したオブジェクトのプロパティのうち、第2引数「propertyName」に指定したプロパティ名のプロパティのディスクリプタを取得するメソッド。
構文
Object.getOwnPropertyDescriptor( object, propertyName )
引数
- object
- 取得したいプロパティを持つオブジェクトを指定。
- propertyName
- 取得したいプロパティの名前を指定。
戻り値
第1引数「object」に指定したオブジェクトのプロパティのうち、第2引数「propertyName」に指定したプロパティ名のプロパティのディスクリプタ。
サンプル
<script type="text/javascript">
var $sampleObjectA = Object.create(
null,
{
$samplePropA: {
value : 'サンプルA',
// プロパティの値を設定。
writable : true,
// writable属性に「true」を指定すると、プロパティの値を後から変更できる。
enumerable : true,
// 列挙可能。
// enumerable属性に「true」を指定すると、オブジェクトをfor文で展開する際に、このプロパティを含める。
configurable : true,
// configurable属性に「true」を指定すると、プロパティ削除や、属性値の変更を許可する。
},
}
);
$descriptor = Object.getOwnPropertyDescriptor( $sampleObjectA, "$samplePropA" );
document.write( '$descriptor[\'value\']:' + $descriptor['value'] + '<br />' );
document.write( '$descriptor[\'writable\']:' + $descriptor['writable'] + '<br />' );
document.write( '$descriptor[\'enumerable\']:' + $descriptor['enumerable'] + '<br />' );
document.write( '$descriptor[\'configurable\']:' + $descriptor['configurable'] + '<br />' );
</script>
var $sampleObjectA = Object.create(
null,
{
$samplePropA: {
value : 'サンプルA',
// プロパティの値を設定。
writable : true,
// writable属性に「true」を指定すると、プロパティの値を後から変更できる。
enumerable : true,
// 列挙可能。
// enumerable属性に「true」を指定すると、オブジェクトをfor文で展開する際に、このプロパティを含める。
configurable : true,
// configurable属性に「true」を指定すると、プロパティ削除や、属性値の変更を許可する。
},
}
);
$descriptor = Object.getOwnPropertyDescriptor( $sampleObjectA, "$samplePropA" );
document.write( '$descriptor[\'value\']:' + $descriptor['value'] + '<br />' );
document.write( '$descriptor[\'writable\']:' + $descriptor['writable'] + '<br />' );
document.write( '$descriptor[\'enumerable\']:' + $descriptor['enumerable'] + '<br />' );
document.write( '$descriptor[\'configurable\']:' + $descriptor['configurable'] + '<br />' );
</script>
↓↓↓出力結果↓↓↓