Was bedeutet "?" und wie hängt das mit true und false und "!" zusammen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das nennt man den ternären Operator.

Vor dem Fragezeichen steht eine Bedingung, danach zwei Ausdrücke, getrennt durch einen Doppelpunkt. Ist die Bedingung wahr, wird der erste Ausdruck ausgewertet, sonst der zweite.

Beispiele:

function getAgeCategory(age) {
  return age >= 18 ? "volljährig" : "minderjährig";
}
function getParity(number) {
  return number % 2 == 0 ? "gerade" : "ungerade";
}
function getSecretData(isAuthorized) {
  return isAuthorized ? secretDataService.getSecretData() : null;
}

Mit dem Ausrufezeichen, das zum Beispiel in != vorkommt, hat das nichts zu tun.

Woher ich das weiß:Berufserfahrung – Software-Entwicklung
condition ? exprIfTrue : exprIfFalse

Ist vor allem dann praktisch, wenn man das im Zuge eienr Rückgabe oder Zuweisung o.ä. macht.