JavaScript パーサーは、3 つのドットが表示される文法コンテキストを分析することによってこれを判断します。
これらの 3 つのポイントが配列リテラル、関数呼び出し、関数パラメーターのいずれで使用されるかを考慮します。
スプレッド演算子について : 配列リテラルおよび関数呼び出しで 3 つのドットが使用されている場合、それはスプレッド演算子とみなされます。
残りのパラメータ演算子の場合: 関数定義のパラメータで 3 つのドットが使用されている場合、それは残りのパラメータ演算子とみなされます。
... は演算子 ではありません。これは、for ステートメントの () と同様に、主要な構文です (これらは、グループ化演算子のインスタンスではなく、for 構文の一部です)。演算子は、spread およびrest 構文のようには機能しません。
...
for
()
各位置のうち 1 つだけが有効で、もう 1 つは無効であるため、パーサーは、使用している位置によって、どちらを使用しているかを認識します。例えば:### リーリー
リーリー
JavaScript パーサーは、3 つのドットが表示される文法コンテキストを分析することによってこれを判断します。
これらの 3 つのポイントが配列リテラル、関数呼び出し、関数パラメーターのいずれで使用されるかを考慮します。
スプレッド演算子について : 配列リテラルおよび関数呼び出しで 3 つのドットが使用されている場合、それはスプレッド演算子とみなされます。
残りのパラメータ演算子の場合: 関数定義のパラメータで 3 つのドットが使用されている場合、それは残りのパラメータ演算子とみなされます。
...
は演算子 ではありません。これは、for
ステートメントの()
と同様に、主要な構文です (これらは、グループ化演算子のインスタンスではなく、for
構文の一部です)。演算子は、spread およびrest 構文のようには機能しません。各位置のうち 1 つだけが有効で、もう 1 つは無効であるため、パーサーは、使用している位置によって、どちらを使用しているかを認識します。例えば:### リーリー
...剰余構文は構造化パターン (1 と 2) と引数リスト (3) で使用されているため、どちらの場合でも剰余構文を使用していることは明らかです。リーリー
...配列リテラル (1)、オブジェクト リテラル (2)、および関数呼び出しのパラメーター リスト (3) で使用するため、これは明らかに剰余ではなく拡張です。