Мне нужно установить значение, a
которое зависит от условия.
Какой самый короткий способ сделать это с CoffeeScript?
Например, вот как я бы сделал это в JavaScript:
a = true ? 5 : 10 # => a = 5
a = false ? 5 : 10 # => a = 10
a = true ? 5 : 10
является действительным CoffeeScript, но не означает трехкомпонентную структуру, вместо (в JavaScript) , это означает: a = true ? true : {5:10}
который известен как плохой thing® Кроме того , a = false ? {5 : 10}
в CoffeeScript затем (в JavaScript) является эквивалентно: a = true ? false : {5:10}
за то, что это стоит, я не думаю, что это хорошо.
beast = yeti ? "bear"
или if yeti? then alert "It's a yeti!"
делает использование ?
довольно хорошо.
if/then/else
он уже является выражением и делает то же самое. Если вам действительно не хватает этого, то вы скорее привыкли к синтаксису C или JavaScript, чем действительно в этом нуждаетесь. Если он недостаточно читабелен и иногда это происходит, просто заключите все выражение в скобки. Оператор ?
был избавлен от более полезных проверок, которые отсутствуют в JavaScript, как уже было сказано @PaulOliver. Экзистенциальный оператор самый лучший.
if else then
</ rant>