ES6 配列分割の不規則性
次のコード スニペットに示すように、ES6 配列分割を使用すると興味深い異常が発生します。
<code class="javascript">let a, b, c; [a, b] = ['A', 'B']; [b, c] = ['BB', 'C']; console.log(`a=${a} b=${b} c=${c}`);</code>
期待値: a=A b=BB c=C
実際: a=BB b=C c=未定義
分析:
根本的な原因はセミコロンがないことにあり、これは JavaScript の自動セミコロン挿入 (ASI) 機能によって有効になります。ただし、この特定のケースでは、ASI は期待どおりにセミコロンを挿入しません。
コードは次のように論理的に分割されます:
<code class="javascript">let a = undefined, b = undefined, c = undefined; [a, b] = (['A', 'B'] [(b, c)] = ['BB', 'C']); console.log(`a=${a} b=${b} c=${c}`);</code>
解決:
この特殊性を回避するには、(、[、/、-、-、または ` で始まるすべての行の先頭に明示的にセミコロンを追加することが重要です。このアプローチにより、ステートメントが適切に分離されます。予期しない動作を排除します。
以上がセミコロンを使用しない ES6 配列の分割で不規則な動作が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。