if dictionary.has_key('school'):
Bunu javascript ile nasıl yazabilirsiniz?Javascript'te "has_key" ile eşdeğer nedir?
if dictionary.has_key('school'):
Bunu javascript ile nasıl yazabilirsiniz?Javascript'te "has_key" ile eşdeğer nedir?
if(Object.prototype.hasOwnProperty.call(dictionary, key)) {
// ...
Ayrıca the in
operator kullanabilirsiniz, ama bazen istenmeyen sonuçlar verir:
console.log('watch' in dictionary); // always true
'İçindekiler'.
if ('school' in dictionary)
: 'Alanı'nda operatör de Python bu şekilde çalışır ve birçok kişi()' yöntem 'has_key için tercih bulabilirsiniz. – brandizzi
@brandizzi, aslında, has_key kullanımdan kaldırılmıştır, bundan kaçınılmalıdır. –
Ya in
operatörle:
if('school' in dictionary) { …
Ya muhtemelen daha bowsers desteklenen: hasOwnProperty
if(dictionary.hasOwnProperty('school')) { …
sınır vakalarda sorunlu olabilir: typeof
if(typeof dictionary.school != 'undefined') { …
biri olarak tanımlanmamış != undefined
değil bir anahtar kelime ve bunun semantik olduğunu kullanmamalıdır tarayıcılar arasında değişir:
if(dictionary.school != undefined) { …
Ayrıca deneyebilirsiniz:
if(dictionary.hasOwnProperty('school'))
hasOwnProperty
yöntem mülkiyet örneğinde aslında ise sadece true
için değerlendirmek ve sadece prototip miras olmaz - olarak in
ile durumdur. Örneğin, ('toString' in myObject)
değerlendirildiğinde, false
olurken true
değerlendirilecektir. Sadece bir not
Hatta,
if(dictionary.school!=undefined)
İstenmeyen sonuçlar ne zaman veriyor? – qwertymk
@qwertymk: Bazen, yalnızca prototiplerle miras alınanlardan ziyade, nesneye eklediğiniz özellikler için yalnızca 'true' döndürmesini istiyorsunuz. “In” operatörü daha çok Python'un “hasattr” gibidir. – icktoofay