JavaScript'te bir nesnenin belirli bir özelliğe sahip olup olmadığını nasıl kontrol edebilirim?
JavaScript'te bir nesnenin belirli bir özelliğe sahip olup olmadığını nasıl kontrol edebilirim?
Bir düşünün:
x = {'key': 1};
if ( x.hasOwnProperty('key') ) {
//Do this
}
Bunu yapmanın en iyi yolu bu mu?
1386
3
Armin Ronacher çoktan benden önce davranmış gibi görünüyor, ancak:
Konrad Rudolph]4 ve Armin Ronacher tarafından işaret edildiği gibi daha güvenli, ancak daha yavaş bir çözüm olacaktır:
Evet öyle :) Bence
Object.prototype.hasOwnProperty.call(x, 'key')
da yapabilirsiniz, eğerx
inhasOwnProperty
adında bir özelliği varsa bu da işe yarayacaktır :)Ancak bu testler kendi özellikleri içindir. İçselleştirilebilecek bir özelliğe sahip olup olmadığını kontrol etmek istiyorsanız
typeof x.foo != 'undefined'
kullanabilirsiniz.Tamam, miras alınan özellikler istemiyorsanız doğru cevabı vermişim gibi görünüyor:
Miras alınan özellikleri dahil etmek için diğer bazı seçenekler aşağıda verilmiştir: