Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Bedingungsoperator (ternärer Operator)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Derbedingte (ternäre) Operator ist der einzige JavaScript-Operator, der drei Operanden benötigt:eine Bedingung gefolgt von einem Fragezeichen (?), dann ein Ausdruck, der ausgeführt wird, wenn die Bedingungwahrheitsgemäß (truthy) ist, gefolgt von einem Doppelpunkt (:), und schließlich der Ausdruck, der ausgeführt wird, wenn die Bedingungfalsch (falsy) ist.Dieser Operator wird häufig als Alternative zu einemif...else-Statement verwendet.
In diesem Artikel
Probieren Sie es aus
function getFee(isMember) { return isMember ? "$2.00" : "$10.00";}console.log(getFee(true));// Expected output: "$2.00"console.log(getFee(false));// Expected output: "$10.00"console.log(getFee(null));// Expected output: "$10.00"Syntax
condition ? exprIfTrue : exprIfFalseParameter
conditionEin Ausdruck, dessen Wert als Bedingung genutzt wird.
exprIfTrueEin Ausdruck, der ausgeführt wird, wenn die
conditioneinenwahrheitsgemäßen (truthy) Wert ergibt (einen, dertrueentspricht oder intrueumgewandelt werden kann).exprIfFalseEin Ausdruck, der ausgeführt wird, wenn die
conditionfalsch (falsy) ist (das heißt, einen Wert hat, der infalseumgewandelt werden kann).
Beschreibung
Nebenfalse sind mögliche falsy Ausdrücke:null,NaN,0, der leere String ("") undundefined.Istcondition einer dieser Werte, wird das Ergebnis des bedingten Ausdrucks das Ergebnis der Ausführung des AusdrucksexprIfFalse sein.
Beispiele
>Ein einfaches Beispiel
const age = 26;const beverage = age >= 21 ? "Beer" : "Juice";console.log(beverage); // "Beer"Umgang mit null-Werten
Ein häufiges Anwendungsbeispiel ist der Umgang mit einem Wert, dernull sein kann:
const greeting = (person) => { const name = person ? person.name : "stranger"; return `Howdy, ${name}`;};console.log(greeting({ name: "Alice" })); // "Howdy, Alice"console.log(greeting(null)); // "Howdy, stranger"Bedingte Verkettungen
Der ternäre Operator ist rechts-assoziativ, was bedeutet, dass er in folgender Weise "verkettet" werden kann, ähnlich einerif … else if … else if … else-Kette:
function example() { return condition1 ? value1 : condition2 ? value2 : condition3 ? value3 : value4;}Dies entspricht der folgendenif...else-Kette.
function example() { if (condition1) { return value1; } else if (condition2) { return value2; } else if (condition3) { return value3; } else { return value4; }}Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-conditional-operator> |