SORU
17 ŞUBAT 2010, ÇARŞAMBA


() JavaScript isset eşdeğer

PHP if(isset($array['foo'])) { ... } yapabilirsiniz. JavaScript genellikle if(array.foo) { ... } aynısını kullanın, ama bu tam olarak aynı ifade değil. Bu durum da eğer array.foo mı varsa yanlış değerlendirecek ama false 0 (ve muhtemelen diğer değerler gibi).

PHP mükemmel eşdeğer isset JavaScript nedir?

Daha geniş anlamda, JavaScript ile ilgili genel, tam bir rehber var olmayan değişkenler, değeri olmayan değişkenler, vb taşıma. uygun olurdu.

CEVAP
17 ŞUBAT 2010, ÇARŞAMBA


Ben genelde typeof operatörünü kullanın:

if (typeof obj.foo != 'undefined') {
  // ..
}

Eğer bu özellik yok ise "undefined" ya iade edecek ya da değer undefined.

(Ayrıca bakınız: Difference between undefined and not being defined.)

Eğer bir özelliği, hasOwnProperty yöntemi gibi: bir nesne üzerinde olup olmadığını anlamak için başka yolları da vardır

if (obj.hasOwnProperty('foo')) {
  //..
}

Ve in operatör:

if ('foo' in obj) {
  //..
}

Son ikisi arasındaki fark, hasOwnProperty yöntem, eğer bu özellik var mı diye kontrol ederfiziksel olaraknesne (özelliği kalıtsal değildir).

in operatör tüm özelliklerini prototip zincirinde erişilebilir, örneğin kontrol eder:

var obj = { foo: 'bar'};

obj.hasOwnProperty('foo'); // true
obj.hasOwnProperty('toString'); // false
'toString' in obj; // true

Gördüğünüz gibi, hasOwnProperty döner false in operatör döner true zaman kontrolü toString Yöntem, Bu yöntem tanımlanmış kadar prototip zinciri, çünkü obj devralır formu Object.prototype.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FF Radio

    FF Radio

    16 Mayıs 2008
  • Chip Johnson

    Chip Johnson

    30 AĞUSTOS 2007
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008