Kann mir bitte jemand in einfachen Worten erklären, was der ?:
(bedingte, "ternäre") Operator ist und wie man ihn benutzt?
javascript
ternary-operator
muudless
quelle
quelle
?:
(wie Sie ihn geschrieben haben, ohne Aussage dazwischen) - den Elvis-Operator . Ziemlich clever.Antworten:
Dies ist eine einzeilige Abkürzung für eine if-else-Anweisung. Es heißt der bedingte Operator. 1
Hier ist ein Beispiel für Code, der mit dem bedingten Operator gekürzt werden könnte:
Dies kann folgendermaßen gekürzt
?:
werden:Wie alle Ausdrücke kann der bedingte Operator auch als eigenständige Anweisung mit Nebenwirkungen verwendet werden, obwohl dies außerhalb der Minimierung ungewöhnlich ist :
Sie können sogar verkettet werden:
Seien Sie jedoch vorsichtig, sonst erhalten Sie einen verschlungenen Code wie den folgenden:
1 Wird oft als "ternärer Operator" bezeichnet, ist jedoch nur ein ternärer Operator [ein Operator, der drei Operanden akzeptiert]. Es ist jedoch das einzige JavaScript, das derzeit verfügbar ist.
quelle
ternary
ist die Art des Operators (dh es besteht aus 3 Teilen). Der Name dieses bestimmten ternären Operators lautetconditional operator
. Es gibt nur einen ternären Operator in JS, sodass die Begriffe missbraucht werden.||
Operator, da er kurzschließt, wenn der Wert auf der linken Seite wahr ist.Ich möchte einige zu den gegebenen Antworten hinzufügen .
Wenn Sie in einer Situation wie "Eine Variable anzeigen, wenn sie gesetzt ist, sonst ..." auf ein Ternär stoßen (oder es verwenden möchten), können Sie es ohne Ternär noch kürzer machen .
Anstatt:
Sie können verwenden:
Dies sind Javascripts, die dem ternären Kurzoperator von PHP entsprechen
?:
Oder auch:
Die Variable wird ausgewertet, und wenn sie falsch oder nicht gesetzt ist, wird mit der nächsten fortgefahren.
quelle
'Hello ' + (username ? username : 'guest')
,Hello +
wenn dies ignoriert wird und nur das Ergebnis der ternären Operation zurückgegeben wird. Kann jemand erklären warum?'Hello ' + username
was immer der Fall isttrue
, da es sich um eine Zeichenfolge mit einer Länge von mehr als 0 handelt.Es wird als "ternärer" oder "bedingter" Operator bezeichnet.
Beispiel
Aus der MSDN JS-Dokumentation .
Grundsätzlich handelt es sich um eine bedingte Kurzaussage.
Siehe auch:
quelle
Es ist ein wenig schwierig zu googeln, wenn Sie nur Symbole haben;) Die zu verwendenden Begriffe sind "Javascript-Bedingungsoperator".
Wenn Sie in Javascript weitere lustige Symbole sehen, sollten Sie zuerst die Operatoren von Javascript nachschlagen: die Liste der Operatoren von MDC . Die einzige Ausnahme, auf die Sie wahrscheinlich stoßen, ist das
$
Symbol .Um Ihre Frage zu beantworten, ersetzen bedingte Operatoren einfache if-Anweisungen. Ein Beispiel ist am besten:
Anstatt:
quelle
var olderThan20 = age > 20;
stattdessen lieber verwenden .ist äquivalent zu
außer natürlich, es ist kürzer.
quelle
Die meisten Antworten sind richtig, aber ich möchte noch etwas hinzufügen. Der ternäre Operator ist rechtsassoziativ, was bedeutet, dass er auf folgende Weise verkettet werden kann
if … else-if … else-if … else
:Gleichwertig:
Weitere Details finden Sie hier
quelle
Es wird der ternäre Operator genannt
quelle
Ternärer Operator
Im Allgemeinen haben wir bedingte Anweisungen in Javascript.
Beispiel:
Es enthält jedoch zwei oder mehr Zeilen und kann keiner Variablen zugewiesen werden. Javascript hat eine Lösung für dieses Problem Ternary Operator . Der ternäre Operator kann in eine Zeile schreiben und einer Variablen zuweisen.
Beispiel:
Dieser ternäre Operator ist in der Programmiersprache C ähnlich.
quelle
Hey Kumpel, erinnere dich nur daran, dass js funktioniert, indem er entweder wahr oder falsch bewertet, oder?
Nehmen wir einen ternären Operator:
Zunächst prüft js, ob questionAnswered
true
oder istfalse
.if
true
(?
) du bekommst "Awesome!"sonst (
:
) wirst du "verdammt" bekommen;Hoffe das hilft Freund :)
quelle
Es ist
if statement
alles in einer Zeile.Damit
Der auszuwertende Ausdruck befindet sich in der
( )
Wenn es mit true übereinstimmt, führen Sie den Code nach dem aus
?
Wenn es mit false übereinstimmt, führen Sie den Code nach dem aus
:
quelle
einstellig
Binär
Ternär
quelle
Es heißt das
ternary operator
. Für weitere Informationen habe ich hier eine weitere Frage beantwortet:Wie schreibe ich eine IF else-Anweisung ohne 'else'?
quelle
conditional operator
. Es gibt nur einen ternären Operator in JS, sodass die Begriffe missbraucht werden.Dies ist wahrscheinlich nicht gerade der eleganteste Weg, dies zu tun. Für jemanden, der mit ternären Operatoren nicht vertraut ist, könnte sich dies jedoch als nützlich erweisen. Meine persönliche Präferenz ist es, 1-Liner-Fallbacks anstelle von Bedingungsblöcken durchzuführen.
Ternärer Operator
quelle
Wir können mit Jquery sowie Länge wie im folgenden Beispiel verwenden:
Angenommen, wir haben ein GuarantorName-Textfeld, das einen Wert hat und Vor- und Nachnamen abrufen möchte. Es kann null sein. So rathar als
Wir können den folgenden Code mit Jquery mit minimalem Code verwenden
quelle
Ternäre Ausdrücke sind in JS sehr nützlich, insbesondere in React. Hier ist eine vereinfachte Antwort auf die vielen guten, detaillierten Antworten.
Stellen Sie sich
expressionIfTrue
die OG if-Anweisung vor, die wahr macht.Betrachten Sie
expressionIfFalse
als die else-Anweisung.Beispiel:
Dies überprüfte den Wert von x, das erste y = (Wert) wurde zurückgegeben, wenn true, die zweite Rückgabe nach dem Doppelpunkt: gab y = (Wert) zurück, wenn false.
quelle
Weitere Informationen finden Sie unter Link zum MDN-Dokument
quelle
Wenn Sie eine Bedingung haben, überprüfen Sie die Instanzfunktion in Javascript . Es ist einfach, ternäre Operatoren zu verwenden . für die Implementierung wird nur eine einzige Zeile benötigt . Ex:
Eine solche Funktion mit einer Bedingung kann wie folgt geschrieben werden.
Bedingung ? wenn wahr: wenn falsch
quelle
quelle
sunday ?
sollte seinsun = "<span class='label " + ((sunday === 'True' ? 'label-success' : 'label-danger') + "'>S</span>"