JavaScript-Grundlagen: Ternäre Operatoren

Mar 23 2023
Was ist ein ternärer Operator? Der ternäre Operator wird verwendet, um Bedingungen in Ihrem Code zu überprüfen, anstatt eine if…else-Anweisung zu verwenden. Er wird auch als bedingter Operator bezeichnet und macht den Code (meistens) erheblich kürzer und leichter lesbar.
Foto von Tsvetoslav Hristov auf Unsplash

Was ist ein ternärer Operator?

Der ternäre Operator wird verwendet, um Bedingungen in Ihrem Code zu überprüfen, anstatt eine if…else-Anweisung zu verwenden. Er wird auch als bedingter Operator bezeichnet und macht den Code (meistens) erheblich kürzer und leichter lesbar.

Syntax

Werfen wir einen Blick auf die Syntax eines ternären Operators:

condition ? trueExpression : falseExpression

condition – die Bedingung, die Sie bewerten. Beispiel: Ist das Alter > 5.

trueExpression: Das sollte passieren, wenn das so conditionisttrue.

falseExpression: Das sollte passieren, wenn das so conditionistfalse.

Beispiel

Unten sehen Sie ein Beispiel mit einer if…else-Anweisung, die prüft, ob sich das Auto basierend auf der Farbe der Ampel bewegen soll.

let color = ‘red’; // color of the traffic light
let carMovement;

if (color === 'red') {
  carMovement = 'stop';
} else {
  carMovement = 'go';
}

console.log(carMovement); //stop

let color = 'red'; // color of the traffic light
let carMovement = color === red ? 'stop' : 'go';

console.log(carMovement); //stop

Sie können einen ternären Operator auch als Ausdruck in einem anderen ternären Operator verschachteln oder verketten. Unten sehen Sie ein Beispiel, um zu überprüfen, ob eine Zahl positiv, negativ oder Null ist:

let num = 2;
let result = num >= 0 ? num === 0 ? 'zero' : 'positive' : 'negative';

console.log(result); //positive

let num = 2;
let result = (num >= 0) ? (num === 0 ? "zero" : "positive") : "negative";

console.log(result); //positive

Wann sollten Sie ternäre Operatoren verwenden?

Wie im obigen Beispiel hervorgehoben, können ternäre Operatoren den Code kürzer machen, aber wenn sie komplexe verschachtelte ternäre Operatoren verwenden, neigen sie dazu, den Code weniger lesbar und verwirrender zu machen.

Als Faustregel gilt: Überlegen Sie, ob in den nächsten zwei Jahren jemand anderes Ihren Code problemlos lesen und verstehen kann. Wenn die Antwort „Nein“ lautet, verwenden Sie stattdessen eine if…else-Anweisung.

Tipp: Bei Verwendung von ESlint ist die Verwendung verschachtelter ternärer Operatoren gänzlich verboten!

Abschluss

Ternäre Operatoren glänzen nur dann, wenn sie das Lesen, Verstehen und Warten von Code erleichtern. Dabei geht es nicht nur darum, den Code kürzer zu machen, sondern ihn auch effektiv zu nutzen.