私は1つまたは複数のパラメータを宣言せずに関数を宣言する方法を探しています。これは、(例えば)最初の引数の値が何であるか気にしない関数を実装している場合に使用されます。たとえば、この機能をそれは関数の引数を宣言しないままにする方法です
を与えられた:
function foo(this_arg_is_unused, important_arg) {
doSomethingWith(important_arg);
}
は、より多くのこのようなそれを宣言するためにいくつかの方法はありますか?私は簡単に行うことができます実現
function foo(, important_arg) {
doSomethingWith(important_arg);
}
:
function foo() {
doSomethingWith(arguments[1]);
}
しかし読みにくくなってきて起動すると、それは(例えば)に、より困難になることをカレーためにfn.jsを使用議論
私は現在、多分私はちょうど引数が使用されていないことを示すために、視覚的ニーモニックを使用することができます考えています:
function foo(ø, important_arg) {
doSomethingWith(important_arg);
}
しかし、これはまた読みやすさの問題を有することができます。
実世界の例:
jQuery's .each()によって使用されるコールバック関数は、最初は、配列/オブジェクトにインデックスまたはプロパティ名のいずれかであり、第二の値であり、二つの引数を取ります。いくつかのdiv
要素を操作するには、このような何かを行う可能性があります:
$($('div').each(function(index, value) {
console.log(value); // equivalent to doSomething(this)
}));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Nothing here</div>
が矢印機能を使用して
$($('div').each((ø, value) => console.log(value)));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Nothing here</div>
私はJavaScriptには言語サポートがないと思います。 Haskellのコンベンションでは、アンダースコアで始まる名前(例: '_index')を使用します。 – melpomene
@joews実世界の例を見ていませんか?かなり頻繁に。ほとんどの人は 'this 'は便利なので、' .each() '引数のコールバックを与えるのは気にしませんが、矢印関数で' this'を使うことはできません – Tibrogargan
' tケアの議論。 – Redu