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

  • BigDawsTv

    BigDawsTv

    20 HAZİRAN 2012
  • Bucky Roberts

    Bucky Robert

    9 HAZİRAN 2011
  • MkElite

    MkElite

    13 NİSAN 2012

İLGİLİ SORU / CEVAPLAR