| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/Conditional_operator | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.
Der bedingte (ternre) Operator ist der einzige JavaScript-Operator, der drei Operanden bentigt:
eine Bedingung gefolgt von einem Fragezeichen (?), dann ein Ausdruck, der ausgefhrt wird, wenn die Bedingung wahrheitsgem (truthy) ist, gefolgt von einem Doppelpunkt (:), und schlielich der Ausdruck, der ausgefhrt wird, wenn die Bedingung falsch (falsy) ist.
Dieser Operator wird hufig als Alternative zu einem if...else-Statement verwendet.
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"
condition ? exprIfTrue : exprIfFalse
conditionEin Ausdruck, dessen Wert als Bedingung genutzt wird.
exprIfTrueEin Ausdruck, der ausgefhrt wird, wenn die condition einen wahrheitsgemen (truthy) Wert ergibt (einen, der true entspricht oder in true umgewandelt werden kann).
exprIfFalseEin Ausdruck, der ausgefhrt wird, wenn die condition falsch (falsy) ist (das heit, einen Wert hat, der in false umgewandelt werden kann).
Neben false sind mgliche falsy Ausdrcke: null, NaN, 0, der leere String ("") und undefined.
Ist condition einer dieser Werte, wird das Ergebnis des bedingten Ausdrucks das Ergebnis der Ausfhrung des Ausdrucks exprIfFalse sein.
const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
Ein hufiges Anwendungsbeispiel ist der Umgang mit einem Wert, der null 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"
Der ternre Operator ist rechts-assoziativ, was bedeutet, dass er in folgender Weise "verkettet" werden kann, hnlich einer if else if else if else-Kette:
function example() {
return condition1 ? value1
: condition2 ? value2
: condition3 ? value3
: value4;
}
Dies entspricht der folgenden if...else-Kette.
function example() {
if (condition1) {
return value1;
} else if (condition2) {
return value2;
} else if (condition3) {
return value3;
} else {
return value4;
}
}
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-conditional-operator |
if...else??)?.)Der Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |