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

  • Rachel Raum

    Rachel Raum

    10 EYLÜL 2007
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008
  • warningthepeople

    warningthepe

    21 EYLÜL 2011

İLGİLİ SORU / CEVAPLAR