CoffeeScript で引数の未使用を明示する


コールバック関数などで使わない引数を明示できると、使う引数がわかりやすくなります。

しかし、アンダースコアを使うやり方は Underscore.js などを使っているとだめで、複数の引数の未使用も明示できません。

callback = (_, _, c) -> console.log(c)

変数名が重複しているため構文エラー。

そこで分割代入を使ってこう書きます。

console.log(1) for [] in children

callback = ([], [], c) -> console.log(c)

分割代入はオブジェクトや配列の一部を効率的に取りだすものですが、空の分割代入を使うことで変数を締めだしています。

ちなみに ES6(Babel) では null を分割代入するとエラーになるためこのやり方は使えないです。