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

  • Andrew_Huang

    Andrew_Huang

    10 ŞUBAT 2006
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007
  • Michael Neal

    Michael Neal

    2 Mayıs 2009

İLGİLİ SORU / CEVAPLAR