私はいくつかのコード(nodejsための非同期モジュール)throug開削以下の表記に遭遇した、この表記は、たくさんの角括弧を使用して見た場合角括弧表記(アクセスオブジェクトを指すものではない!)
return fn.apply(null, [async.forEachSeries].concat(args));
それは正確に何を意味するのか分かりません。 これはES5に関連していますか?
挨拶!
私はいくつかのコード(nodejsための非同期モジュール)throug開削以下の表記に遭遇した、この表記は、たくさんの角括弧を使用して見た場合角括弧表記(アクセスオブジェクトを指すものではない!)
return fn.apply(null, [async.forEachSeries].concat(args));
それは正確に何を意味するのか分かりません。 これはES5に関連していますか?
挨拶!
これは本当に簡単です。基本的には、2つの配列を結合し、結果の配列を2番目の引数として渡して適用します。参照:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/concat
例えば:
// this should clarify
console.log([1, 2, 3].concat([4, 5]));
それはリストです。
[1,2,3,4,5]
はJavaScriptでリストを取得するには、とconcat
はリスト方式である:あなたが行うことができます。
これは配列リテラルの表記法です。次のコードは、4つの要素を持つ配列を作成します。
var x = [1, 4, 9, 16];
アレイは、オブジェクト自体であり、2つの配列を結合し、新しいアレイを作成するためconcatようなメソッドを有します。
式[async.forEachSeries]
は、配列にforEachSeries
というプロパティを入れて、この配列をargs
配列と結合します。
うわー、もちろん私は配列リテラルを知っていますが、それはまったく同じようなものだと気付かなかったのです...今私はちょっと愚かな気がします。上記のコードは基本的には 'args.unshift(async.forEachSeries);と同じです。 return fn.apply(null、args); 'そうですか? – zaphod1984