ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で [[]][ []] [ []] はどのようにして文字列「10」になるのでしょうか?

JavaScript で [[]][ []] [ []] はどのようにして文字列「10」になるのでしょうか?

Patricia Arquette
リリース: 2024-11-13 13:45:02
オリジナル
1033 人が閲覧しました

How Does   [[]][ []] [ []] Result in the String

[[]][ []] [ []] はどのようにして文字列 "10" を生成しますか?

JavaScript では、複雑な式 [[]][ []] [ []] は、文字列「10」を返すというかなり予期せぬ結果になります。この奇妙な行動の背後にある謎を解明してみましょう。

1.式の分解:

式を段階的に分解すると、次のように分解できます:

++[[]][+[]]
+
[+[]]
ログイン後にコピー

2.サブパートの解釈:

  • []: この式は、空の配列 [] を数値に強制変換し、0 と評価されます。
  • [[]][ []] : 空の配列そのものである内部配列 [] の最初の要素を取得します。
  • [[]][ []]: 参照される配列 ([] = 0) に相当する数値を 1 つインクリメントします。 、結果は 1.
  • []: 前と同様に、空の配列 [] を数値 0.

3 に変換します。簡略化と連結:

ここで式をさらに簡略化できます:

1
+
0
ログイン後にコピー

JavaScript の連結ルールは、異なる型のオペランドを持つ演算子に遭遇したときに適用されます。一方のオペランドは数値 (1)、もう一方のオペランドは配列 (0) であるため、配列は文字列 (「0」) に強制されます。

4。文字列の連結:

加算の結果は文字列の連結です:

"1" + "0" === "10"
ログイン後にコピー

5。まとめ:

このように、[[]][ []] [ []] が強制と連結を巧みに操作して "10" という謎の結果を生成する隠されたパスを発見します。

以上がJavaScript で [[]][ []] [ []] はどのようにして文字列「10」になるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート