JavaScript

JavaScript's for...in loop is a syntax used to retrieve and process each of an object's enumerable properties one by one.

for...in [loop]

 for...inループは、オブジェクトの列挙可能なプロパティ(キー)を順番に処理するために使用されます。つまり、オブジェクト内の各プロパティ名を取得して、それに対する操作を行うことができます。

JavaScript

for (let key in object) {
	// keyを使った処理
}

Sample

JavaScript

const user = {
	name: '山田太郎',
	age: 25,
	city: '東京'
};

for (let key in user) {
	console.log(key + ': ' + user[key]);
}

 この例では、userオブジェクトの各プロパティ名(name、age、city)が keyに代入され、その値は user[key]で取得しています。

注意点

配列に対しての使用は非推奨
for...inループを配列に使用すると、予期しない結果になることがあります。配列を反復処理する場合は、forループ、for...ofループ、または Array.prototype.forEachを使用することをおすすめします。
プロトタイプチェーンのプロパティも列挙
for...inループは、オブジェクト自身のプロパティだけでなく、プロトタイプチェーン上の列挙可能なプロパティも列挙します。必要に応じて、hasOwnPropertyメソッドでオブジェクト自身のプロパティかどうかを確認してください。

JavaScript

for (let key in user) {
	if (user.hasOwnProperty(key)) {
		// オブジェクト自身のプロパティに対する処理
	}
}