これを聞くには良い方法があるはずですが、私は正確な原因を確信していません。なぜこのスプレッドオペレータはランタイムをクラッシュさせますか?
ここでコードスニペットを最初に解説します。
this.argArr = [['arg1', 'arg2'], ['foo', 'bar'], ['you get ', 'the point']];
this.evalArgsFromArr = function() {
var out = [];
for (var _ = 0; _ < parent.argArr.length; _++) {
out.push(someFunction(...parent.argArr[_])); // This part crashes
}
return out;
};
この関数はもちろんのオブジェクトの一部です。
考えられるのは、parent.argArr
の各項目は、someFunction()
の2つの引数を含む配列でなければならず、人間が読めるように出力を凝縮させる役割も果たしていることです。私の理解は、反復可能なオブジェクト(parent.argArr
に格納されている配列など)で使用されると、スプレッド演算子は個々の値を別々に出力します。たとえば、for
ループの最初の実行ではsomeFunction('arg1', 'arg2')
が出力されます。
Node.jsまたはPHPでこれを含むファイルを実行すると、ランタイムはすぐにクラッシュしますが、まだ呼び出されていなくても、オペレーター[...
]が予期しない。 、「...」
実行可能な例を提供できますか? –
node.jsのどのバージョンがありますか? – Vovan