Saya perlu menetapkan nilai untuk a
itu tergantung pada suatu kondisi.
Apa cara terpendek untuk melakukan ini dengan CoffeeScript?
Misalnya ini adalah bagaimana saya melakukannya dalam JavaScript:
a = true ? 5 : 10 # => a = 5
a = false ? 5 : 10 # => a = 10
a = true ? 5 : 10
adalah coffeescript yang valid, tetapi tidak berarti struktur ternary, sebaliknya (dalam javascript) artinya: a = true ? true : {5:10}
yang dikenal sebagai hal yang buruk® Selain itu a = false ? {5 : 10}
dalam coffeescript maka (dalam javascript) adalah setara dengan: a = true ? false : {5:10}
Untuk apa nilainya, saya pikir itu tidak baik.
beast = yeti ? "bear"
atau if yeti? then alert "It's a yeti!"
memanfaatkannya dengan ?
cukup baik.
if/then/else
sudah merupakan ekspresi dan melakukan hal yang sama. Jika Anda benar-benar melewatkannya, maka Anda lebih terbiasa dengan sintaks C atau JavaScript daripada benar-benar membutuhkannya. Jika itu tidak cukup dibaca, dan kadang-kadang itu terjadi, cukup bungkus seluruh ekspresi dalam tanda kurung. Operator ?
telah diselamatkan untuk pemeriksaan yang lebih bermanfaat yang tidak ada dalam JavaScript, seperti yang telah dinyatakan oleh @PaulOliver. Operator eksistensial adalah yang terbaik.
if else then
</rant>