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

  • Hidden Wolf TV

    Hidden Wolf

    1 EKİM 2009
  • kimaliz

    kimaliz

    18 Temmuz 2006
  • bored before i even began

    bored before

    30 Mart 2009

İLGİLİ SORU / CEVAPLAR