CodeBlanks Logo Icon CodeBlanks

for...in

for...in ile nesne anahtarları üzerinde gezinmeyi öğrenirsin.

for...in döngüsü

Bir nesnenin anahtarlarını (keys) sırayla gezmek için for...in kullanılır. Yazım: for (const key in object) { ... }. Her yinelemede key bir anahtar adını (dize olarak) alır.

Örneğin const user = { name: "Ayşe", age: 25 }; for (const key in user) { console.log(key); } sırayla name ve age yazar. Değere ulaşmak için user[key] kullanılır. for...in nesneler için tasarlanmıştır; dizilerde kullanmak teknik olarak mümkün olsa da önerilmez çünkü dizin ve özellik karışıklığına yol açabilir.

for...in vs for...of

for...in nesnelerin anahtarlarını gezer, for...of iterable'ların (dizi, dize, Map, Set) elemanlarını gezer. İkisi farklı amaçlar için tasarlanmıştır; karıştırılırsa hata oluşur.

Sıradan bir nesne üzerinde for...of denerseniz TypeError fırlatılır çünkü nesne iterable değildir. Bir dizi üzerinde for...in denerseniz dizinleri ("0", "1", ...) alırsın ki bu genellikle istenmez. Şu özet yeter: nesne için for...in, dizi için for...of.

Uygulama Nesne anahtarlarını yazdır

user değişkeni { name: "Ayşe", age: 25 } değerini taşıyor. Bir for...in döngüsü yaz: const key in user ile her anahtarı gez ve console.log(key) ile yazdır. Çıktı iki satır olmalı: name, age.

Başlangıç kodu

index.js
const user = { name: "Ayşe", age: 25 };
// for...in döngüsünü buraya yaz

Örnek çözüm

index.js
const user = { name: "Ayşe", age: 25 };
for (const key in user) {
    console.log(key);
}

Beklenen çıktı

name
age

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 for (const k in {a: 1, b: 2}) { console.log(k); } çıktısı?

index.js
for (const k in { a: 1, b: 2 }) { console.log(k); }
  • a b Doğru cevap
  • a 1
  • 1 2 a b
  • 1 2

Açıklama: for...in anahtarları verir; "a" ve "b" yazılır.

2 Yapıyı kullanımına eşle

Kavram Anlamı
for...of Dizi elemanları
for...in Nesne anahtarları
for (let i...) Sayılı dizin
while Koşullu döngü

3 for...in başlığını yaz

Soru
const user = { name: "Ayşe", age: 25 };
____ (const key in user) {
    console.log(key);
}
Cevap
const user = { name: "Ayşe", age: 25 };
for (const key in user) {
    console.log(key);
}

Açıklama: for...in nesne anahtarlarını gezer.

Başlangıç bölümündeki tüm dersler