Nachdem ich in früheren Artikel den Unterschied zwischen && und & bereits für Java und PHP erkläutert habe, jetzt auch der JavaScript Unterschied zwischen & vs &&. Die Verhaltensweise ist bei den genannten Programmiersprache identisch, dies zeigt auch das Beispiel im Blogartikel. Abhängig von der Programmierung kann es auch notwendig sein ein & zu verwenden, falls in den Funktionen weitere Aktionen durchgeführt werden, die unabhängig vom Ergebnis des If-Else benötigt werden.

Grundsätzlich müssen bei einer UND-Verknüpfung bzw. der Benutzung von UND-Operator alle Bedingungen WAHR bzw. TRUE sein, ansonsten wird der Else-Fall ausgewählt. Der Unterschied zwischen && und & ist jetzt nur, was soll passieren, wenn eine Bedingung bereits FALS ist und somit klar ist, dass der Else-Zweig ausgewählt wird.
JavaScript-Beispiel: Unterschied & vs &&
function Hello(){ alert("Hello"); return false; } function World(){ alert("World"); return false; } function change(){ alert("Mit einem & -> "); if(Hello() & World()){ alert("!"); }else{ alert("?"); } alert("Mit zwei & -> "); if(Hello() && World()){ alert("!"); }else{ alert("?"); } }
Passend dazu gibt es auch ein JsFiddle: JavaScript Unterschied zwischen & vs &&
Performance & vs &&
Zur Performance-Steigerung sollten immer && (zwei mal &) verwendet werden, weil dann bereits nach der ersten fehlerhaften Bedingung abgebrochen wird und nicht noch alle weitere Untersucht werden.