Мені потрібно встановити значення, 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>