332 Stimmen

Ternäre Operation in CoffeeScript

Ich muss den Wert auf a die von einer Bedingung abhängt.

Was ist der kürzeste Weg, dies mit CoffeeScript zu tun?

So würde ich es z.B. in JavaScript machen:

a = true  ? 5 : 10  # => a = 5
a = false ? 5 : 10  # => a = 10

2voto

quotesBro Punkte 4858

Mehrzeilige Version (z. B. wenn Sie nach jeder Zeile einen Kommentar hinzufügen müssen):

a = if b # a depends on b
then 5   # b is true 
else 10  # b is false

1voto

CoffeeScript hat keinen ternären Operator. So steht es in der Dokumentation.

Sie können weiterhin eine Syntax verwenden wie

a = true then 5 else 10

Das ist viel klarer.

0voto

revainisdead Punkte 51

Ähnlich wie bei quotesBro's Antwort aber ohne die then Stichwort. Hier ist eine Version, die eine normale, mehrzeilige if-Anweisung verwendet. Ich finde, das ist schön formatiert.

Betrachten Sie diese normale if-Anweisung

if true
    # do stuff
else
    # do stuff

Verwenden Sie es dann für die Zuordnung (wiederum ohne die then Stichwort)

value = if true
    5
else
    10

value = if false
    5
else
    10

Dies kompiliert zu javascript als genau eine regelmäßige ternary

value = true ? 5 : 10;
value = false ? 5 : 10;

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