Object.getOwnPropertyNames( object )メソッドは、引数「object」に指定したオブジェクトのプロパティやメソッドのうち、全てのプロパティやメソッドの名前を格納した配列を返すメソッド。
構文
Object.getOwnPropertyNames( object )
引数
- object
- 全てのプロパティやメソッドの名前を取得したいオブジェクトを指定。
戻り値
引数「object」に指定したオブジェクトのプロパティやメソッドのうち、列挙可能なプロパティやメソッドの名前を格納した配列。
サンプル
オブジェクトリテラル表記を使った簡易オブジェクト
<script type="text/javascript">
var $sampleObjectA = {
propA: "値1",
propB: "値2",
propC: "値3"
};
document.write(
'Object.getOwnPropertyNames( $sampleObjectA ):'
+ Object.getOwnPropertyNames( $sampleObjectA )
+ '<br />'
);
</script>
var $sampleObjectA = {
propA: "値1",
propB: "値2",
propC: "値3"
};
document.write(
'Object.getOwnPropertyNames( $sampleObjectA ):'
+ Object.getOwnPropertyNames( $sampleObjectA )
+ '<br />'
);
</script>
↓↓↓出力結果↓↓↓
列挙可能のプロパティと列挙不能のプロパティ
<script type="text/javascript">
var $sampleObjectB = Object.create(
null,
{
$samplePropA: {
value : 'サンプルA',
// プロパティの値を設定。
enumerable : true,
// 列挙可能。
// enumerable属性に「true」を指定すると、オブジェクトをfor文で展開する際に、このプロパティを含める。
},
$samplePropB: {
value : 'サンプルB',
// プロパティの値を設定。
enumerable : false,
// 列挙不能。
// enumerable属性に「false」を指定すると、オブジェクトをfor文で展開する際に、このプロパティを含めない。
},
$samplePropC: {
value : 'サンプルC',
// プロパティの値を設定。
enumerable : true,
// 列挙可能。
// enumerable属性に「true」を指定すると、オブジェクトをfor文で展開する際に、このプロパティを含める。
},
}
);
document.write(
'Object.getOwnPropertyNames( $sampleObjectB ):'
+ Object.getOwnPropertyNames( $sampleObjectB )
+ '<br />'
);
</script>
var $sampleObjectB = Object.create(
null,
{
$samplePropA: {
value : 'サンプルA',
// プロパティの値を設定。
enumerable : true,
// 列挙可能。
// enumerable属性に「true」を指定すると、オブジェクトをfor文で展開する際に、このプロパティを含める。
},
$samplePropB: {
value : 'サンプルB',
// プロパティの値を設定。
enumerable : false,
// 列挙不能。
// enumerable属性に「false」を指定すると、オブジェクトをfor文で展開する際に、このプロパティを含めない。
},
$samplePropC: {
value : 'サンプルC',
// プロパティの値を設定。
enumerable : true,
// 列挙可能。
// enumerable属性に「true」を指定すると、オブジェクトをfor文で展開する際に、このプロパティを含める。
},
}
);
document.write(
'Object.getOwnPropertyNames( $sampleObjectB ):'
+ Object.getOwnPropertyNames( $sampleObjectB )
+ '<br />'
);
</script>
↓↓↓出力結果↓↓↓