私は本当にこれが好きです:
var value = maxValue > minValue ? minValue : maxValue;
Coffeescriptにも同様に簡潔なものはありますか?
value = if maxValue > minValue then minValue else maxValue
Javascriptとcoffeescriptの両方にmore簡潔なオプションがあります:)
value = Math.min(minValue, maxValue)
RăzvanPandaが指摘しているように、私のコメントは実際には良い答えの1つかもしれません。
value = `maxValue > minValue ? minValue : maxValue`
これは、CoffeeScriptが競合する哲学を持っているように感じる場合です。
すべての操作が結果を返すため、if/then/elseの方法で必要なものが得られます。 ?/:演算子の追加は冗長です。
これは、冗長であるにもかかわらず、?/:三項演算子を提供したいところです... if/then/elseバリアントよりも読みやすいです。
ちょうど私の2c。
次のように書くことができます:
value = if maxValue > minValue then minValue else maxValue
コードのようにコンパイルされます。
ドキュメントには、「Conditionals、Ternaries、およびConditional Assignment」というタイトルのセクションがあります。これは、coffeescriptがサポートすると信じる人を導きます
condition ? when-true : when-false
しかし、実際にはそうではありません。
パッチは次のとおりです(そしてcoffeescript.orgにプッシュされます):
http://github.com/jashkenas/coffee-script/commit/ec2d358ae3c82e9888c60695d7cce05edde0c55a
mood = greatlyImproved if singing
if happy and knowsIt
clapsHands()
chaChaCha()
else
showIt()
date = if friday then sue else jill
options or= defaults