Мені потрібно встановити значення, aщо залежить від умови.
Який найкоротший спосіб зробити це за допомогою CoffeeScript?
Наприклад, це я б робив у JavaScript:
a = true ? 5 : 10 # => a = 5
a = false ? 5 : 10 # => a = 10
a = true ? 5 : 10є дійсним кофеескриптом, але це не означає потрійну структуру, натомість (у javascript) це означає: a = true ? true : {5:10}що відоме як погана річ® Додатково 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>