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

  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • MrDevin521

    MrDevin521

    18 Temmuz 2010
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007