Je dois définir une valeur a
qui dépend d'une condition.
Quel est le moyen le plus court de le faire avec CoffeeScript?
Par exemple, voici comment je le ferais en JavaScript:
a = true ? 5 : 10 # => a = 5
a = false ? 5 : 10 # => a = 10
a = true ? 5 : 10
c'est un coffeescript valide, mais ne signifie pas une structure ternaire, au lieu de cela (en javascript) cela signifie: a = true ? true : {5:10}
ce qui est connu comme une mauvaise chose® De plus a = false ? {5 : 10}
en coffeescript, puis (en javascript) est équivalent à: a = true ? false : {5:10}
Pour ce que ça vaut, je ne pense pas que ce soit bon.
beast = yeti ? "bear"
ou if yeti? then alert "It's a yeti!"
utilise ?
assez bien le.
if/then/else
c'est déjà une expression et fait la même chose. Si vous le manquez vraiment, alors vous êtes plutôt habitué à la syntaxe C ou JavaScript qu'à vraiment en avoir besoin. Si ce n'est pas assez lisible, et cela arrive parfois, mettez simplement l'expression entière entre parenthèses. L'opérateur ?
a été épargné pour des vérifications plus utiles qui sont absentes dans JavaScript, comme déjà indiqué par @PaulOliver. L'opérateur existentiel est le meilleur.
if else then
</rant>