6
array splicingのCoffeeScriptドキュメントでは、末尾には, _ref
の目的は何ですか?coffeescriptによる配列スプライシング、どのような_refですか?
のCoffeeScript:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers[3..6] = [-3, -4, -5, -6]
がにコンパイル:
のCoffeeScriptのスライス作業は、それがちょうど割り当てられたスライスを返すように望んでいるが、代わりに取り除かれた要素が splice()返すためですvar numbers, _ref;
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
[].splice.apply(numbers, [3, 4].concat(_ref = [-3, -4, -5, -6])), _ref;
+1コンマ演算子へのリンクについては、Douglas Crockfordは「あまりにもトリッキーな表現」につながる可能性があるので、それを使用することをお勧めします。これは答えるのが不可能かもしれませんが、coffeeScriptが割り当てたスライスを返そうとしている理由を知っていますか?この例では何も使われていません...?ありがとう。 – AJP
@AJP、呼び出し元が返された値に関心があるかどうかにかかわらず、同じコードフラグメントを生成できる可能性があります。言い換えれば、後者の場合に "_ref"を "最適化"することは、コンパイラにもたらされる複雑さには価値がないかもしれません。 –