SORU
7 AĞUSTOS 2011, Pazar


&; X & & " foo()"?

somewhere başka dedi, gördüm

x && foo();

eşittir

if(x){
    foo();
}

Test ettim ve gerçekten de aynı şeyi yaptı.
Ama neden? Tam olarak x && foo() nedir?

CEVAP
7 AĞUSTOS 2011, Pazar


VE ve VEYA operatörleri kısayol olabilir.

&& ilk gerçek (gerçeği gibi, daha spesifik olarak) ise ikinci ifade çalışır. İkinci operasyon malzeme foo() içeriği ne olursa olsun) aslında idam değil çünkü önemli değilsüreceilk ifade bir şey truthy değerlendirir. Truthy, öyleikinci deneme amacıyla yürütülecek.

Eğer || deyimi ilk ifade doğru ise, tam tersine, ikinci dokunulmaz değil. Bütün bu deyimi zaten değerlendirilebilir, ifade doğru, ikinci ifade sonucu ne olursa olsun, neden olur, göz ardı edilir çünkü yapılır ve unexecuted kalır.

Davaları izlemek için kullanırken kısayolları gibi bu, elbette, bu durumda olan operatörler nerede tanımlı değişkenleri hala değerlendirmek için falsy değerleri (örneğin 0) ve truthy olanlar (örneğin 'zero').

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CorridorDigital

    CorridorDigi

    17 Mayıs 2010
  • Lin Steven

    Lin Steven

    17 EKİM 2006
  • The Amazing Atheist

    The Amazing

    20 Kasım 2006

İLGİLİ SORU / CEVAPLAR