527 Stimmen

Wie verwendet man den ? (bedingter) Operator in JavaScript?

Mit einfachen Worten, was ist die ?: (bedingter, "ternärer") Operator und wie kann ich ihn verwenden?

9voto

Ernest Friedman-Hill Punkte 79357
z = (x == y ? 1 : 2);

ist gleichbedeutend mit

if (x == y)
    z = 1;
else
    z = 2;

außer natürlich, dass sie kürzer ist.

5voto

Arun V Jose Punkte 2153

Ternärer Operator

Üblicherweise haben wir bedingte Anweisungen in Javascript.

Ejemplo:

if (true) {
    console.log(1)
} 
else {
    console.log(0)
}
# Answer
# 1

aber er enthält zwei oder mehr Zeilen und kann keiner Variablen zugewiesen werden. Javascript hat eine Lösung für dieses Problem Ternärer Operator . Ternäre Operatoren können in einer Zeile geschrieben und einer Variablen zugewiesen werden.

Ejemplo:

var operator = true ? 1 : 0
console.log(operator)
# Answer
# 1

Dieser ternäre Operator ist ähnlich wie in der Programmiersprache C.

4voto

eagle12 Punkte 1648

Er wird als ternärer Operator bezeichnet

tmp = (foo==1 ? true : false);

7 Stimmen

Er wird als bedingter Operator bezeichnet. Er ist zufällig das einzige Beispiel für a ternären Operator in der Sprache.

2 Stimmen

Tmp = foo == 1 macht das Gleiche, also würde es reichen

4voto

Guy Keren Punkte 51

Hey Kumpel nur daran erinnern, js funktioniert durch die Auswertung entweder wahr oder falsch, richtig?

nehmen wir einen ternären Operator :

questionAnswered ? "Awesome!" : "damn" ;

Zuerst prüft js, ob questionAnswered ist true o false .

wenn true ( ? ) erhalten Sie "Awesome!"

sonst ( : ) erhalten Sie "verdammt";

Ich hoffe, das hilft, mein Freund :)

3voto

PBrook Punkte 21

Ternäre Ausdrücke sind sehr nützlich in JS, insbesondere React. Hier ist eine vereinfachte Antwort auf die vielen guten, detaillierten zur Verfügung gestellt.

condition ? expressionIfTrue : expressionIfFalse

Denken Sie an expressionIfTrue als die OG if-Anweisung wahr macht;
denken an expressionIfFalse als die else-Anweisung.

Ejemplo:

var x = 1;
(x == 1) ? y=x : y=z;

Dies prüft den Wert von x, die erste Rückgabe y=(Wert), wenn wahr, die zweite Rückgabe nach dem Doppelpunkt : gibt y=(Wert) zurück, wenn falsch.

0 Stimmen

Sollte dies sein y = (x == 1) ? x : z

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X