Beim Debuggen von Javascript, das von jemand anderem geschrieben wurde, bin ich auf einen Code gestoßen, den ich vorher noch nicht gesehen habe. Hier ist ein Beispiel:
function doSomething() {
//doing something here...
}
function doItNow() {
//other logic...
doSomething && doSomething(); // <=== What's this?
}
Ist der Zweck der 2. Zeile in der Funktion doItNow() zu prüfen, ob doSomething existiert und sie dann aufzurufen? Etwa so:
function doItNow() {
//other logic...
if (doSomething) {
doSomething();
}
}
JSLint mag es nicht und ich möchte lieber keinen schlechten Code in meiner Anwendung haben. Irgendwelche Einsichten?
0 Stimmen
Ich finde das ziemlich clever, obwohl es die Lesbarkeit des Codes beeinträchtigt. Ich würde das nicht als "schlechten Code" bezeichnen, eher als "schlecht lesbaren Code".
0 Stimmen
Je nach Sprache kann dies als Standardausdruck betrachtet werden.