【JavaScript ECMAScript】for...in文の使い方
for...in文の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
for...in文は、JavaScriptにおいてオブジェクトの列挙可能なプロパティを反復処理するために使用される制御構文です。この文は、指定されたオブジェクト自身が持つプロパティだけでなく、そのプロトタイプチェーン上にある列挙可能なプロパティの名前も文字列として取得し、繰り返し処理を実行します。そのため、意図しないプロパティまで処理してしまう可能性があるため注意が必要です。
一般的に、配列やMap、Setといった反復可能なオブジェクトの要素を順に処理する場合は、for...of文がより適しています。for...inは、主にオブジェクトのプロパティ名を探索したり、オブジェクトの構造を検査したりする場合、あるいは古いJavaScriptコードとの互換性を保つ必要がある場面で利用されます。
予期せぬプロパティの処理を防ぐためには、通常、Object.prototype.hasOwnProperty()メソッドと組み合わせて、オブジェクト自身のプロパティのみを対象とすることが推奨されます。また、プロパティの列挙順序は保証されないため、順序に依存する処理には不向きです。システムエンジニアを目指す初心者の方々は、for...in文のこれらの特性を理解し、適切な場面で活用することが重要です。
公式リファレンス: for...in
構文(syntax)
1const myObject = { 2 property1: 'value1', 3 property2: 2, 4 property3: true 5}; 6 7for (const key in myObject) { 8 console.log(key + ': ' + myObject[key]); 9}
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません