for .. in ile Nesnenin Özellikleri

Bir özelliğin bir nesne içindeki varlığını in deyimi ile sorgulayabiliriz. Örnek.

let ogrenci = {
    no:2301,
    isim:'Asya',
    sinif:7,
};
delete ogrenci.sinif;
alert( 'isim' in ogrenci ); //true
alert( 'notlar' in ogrenci ); //false
alert( 'sinif' in ogrenci ); // 6.satırda sildiğimiz için: false

Bu sorgulama .hasOwnProperty() veya Object.hasOwn() ile de yapılabilir. Örnek.

alert( ogrenci.hasOwnProperty('no') ); //true
alert( Object.hasOwn(ogrenci,'isim') ); //true
alert( Object.hasOwn(ogrenci,'okul') ); //false

Nesnelerin anahtarları döngülenebilirler. Döngülenebilir yapılar for'un farklı kullanımlarıyla döngülenebilirler. Nesneler for ... in kullanımıyla döngülenebilirler. Örnek.

let user = { 
    takmaAd:'user',
    sifre:'1234',
    dil:'TR',
};
for (let ozellik in user) {
    alert(ozellik);
}

Eğer size değerler lazımsa şu şekilde kombinleyebilirsiniz.

for ... in kullanımı özelliklerin eklenme sırasına göre çalıştırır fakat anahtarlar string tipinde nümerik değerlerle belirtilmişse işler değişir.

Anahtarlar eklenme sırasına göre değil de sayısal olarak artan sırada gelir. Bu durum anahtarların for ... in kullanımında bellekte nümerik olarak çevriminden kaynaklanır. Önüne geçmek için string'in önüne '+' vb. semboller konularak tip saflaştırılır.

Metotlar da yine for ... in döngüsü anahtar olarak gösterilir. Örnek.

Last updated