Es gibt ein paar Möglichkeiten, dies in Javascript zu tun.Der ternäre Operator und wenn A, B, sonst C. Gibt es wichtige Unterschiede?
Foremost und am besten lesen und flexibel ist wahrscheinlich:
if (a){
//b
}
else {
//c
}
Etwas anderes, das nur * arbeitet mit Zuordnung und ist weniger lesbar ist:
var foo = 'c';
if (a){
foo = 'b';
}
Meine Hauptfrage aber, über die ist die letzten beiden Methoden, die ich mir vorstellen kann:
var foo = a ? b : c;
var foo = a && b || c;
Gibt es irgendwelche Unterschiede zwischen uns de diese beiden Ausdrücke? Anders als die Lesbarkeit, die beide fehlen.
* obwohl Sie könnte foo zuweisen, um eine Funktion zu sein, dann führen Sie es nach der if-Anweisung aus.
Um pedantisch zu sein: Sie diskutieren technisch den bedingten Operator, der gerade ein ternärer Operator ist (das ist ein Operator, der auf drei Elementen operiert). –
Für kurze Anweisungen kann der bedingte Operator _more_ "lesbarer" sein als jedes vollwertige if-Konstrukt. – Svante