ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で `[5, 6, 8, 7][1, 2]` が 8 を返すのはなぜですか?

JavaScript で `[5, 6, 8, 7][1, 2]` が 8 を返すのはなぜですか?

DDD
DDDオリジナル
2024-11-01 10:25:30308ブラウズ

Why Does `[5, 6, 8, 7][1, 2]` Return 8 in JavaScript?

JavaScript における配列の添字の癖を理解する

JavaScript では、配列の添字演算が驚くべき結果をもたらすことがあり、多くの人がその結果がなぜ起こるのか疑問に思っています。期待とは異なります。次の例を考えてみましょう:

<code class="javascript">[5, 6, 8, 7][1, 2] = 8</code>

この式は 8 を返すのはなぜですか?

この動作は、JavaScript が配列以外の 2 番目のオペランドを使用して配列添え字演算を処理する方法に起因します。単一の数値ではなく、カンマ区切りの式のリストで配列のインデックスが付けられている場合、式は順番に評価され、最後の式の結果がインデックスとして使用されます。

この場合、式は[1, 2] は次のように評価されます。

  • 1 は 1 に評価されます。
  • 2 は 2 に評価されます。

その結果、配列添字演算は次のようになります。

<code class="javascript">[5, 6, 8, 7][2]</code>

これは 8 と評価され、これは配列内のインデックス 2 の要素の値です。

追加の例

さらに説明するには:

<code class="javascript">[1, 2, 3, 4, 5, 6][1, 2, 3]; // 4
[1, 2, 3, 4, 5, 6][1, 2]; // 3</code>

これらの例は同じ動作を示しています。配列添字演算の 2 番目のオペランドは単一の式として評価され、配列内の対応する要素にアクセスするために使用されるインデックス値が得られます。

以上がJavaScript で `[5, 6, 8, 7][1, 2]` が 8 を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。