Sobes.tech
Junior

for...in ve for...of döngüleri arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

for...in döngüsü, nesnenin dizine alınabilir özellikleri (anahtarları) üzerinde yineleme yapar, prototip zincirindeki özellikler dahil.

for...of döngüsü ise, yineleyebilir nesnelerin (Array, Map, Set, String, arguments vb.) değerleri üzerinde yineleme yapar. Prototip özellikleri üzerinde yineleme yapmaz.

for...in for...of
Yineleme yapar Nesne anahtarları (özellikleri) Yineleyebilir nesnelerin değerleri
Kullanılır Nesneler Diziler, dizgeler, Map, Set ve diğer yineleyebilir nesneler
Prototip Prototip özellikleri üzerinde yineleme yapar Prototip özellikleri üzerinde yineleme yapmaz
Yineleme sırası Garanti edilmez, özellikle sayısal olmayan anahtarlar için Dizilerde (indeks sırasıyla) garanti edilir

for...in örneği:

const obj = { a: 1, b: 2 };
for (const key in obj) {
  console.log(key, obj[key]); // Çıktı: "a 1", "b 2"
}

for...of örneği:

const arr = [1, 2, 3];
for (const value of arr) {
  console.log(value); // Çıktı: 1, 2, 3
}

Genel olarak, diziler ve benzeri yapılar üzerinde gezinmek için for...of kullanmak tercih edilirken, nesne özellikleri üzerinde gezinmek için for...in kullanılır (sıklıkla hasOwnProperty ile birlikte, prototip özelliklerini hariç tutmak için).