JavaScript における「未定義 x 1」の謎を解く
JavaScript プログラムのコンテキストで「未定義 x 1」に遭遇すると、困惑することがあります。このメッセージは通常、Chrome のデバッガー内に表示され、新しく導入された機能を示します。
「unknown x 1」について
「Unknown x 1」は、配列内の初期化されていない要素を示しますまたは配列のようなオブジェクト。これは Chrome の最近の視覚的な強化であり、複数の「未定義」値を表示する以前の慣行に代わるものです。たとえば、100 個の初期化されていない要素を持つ配列については、「[未定義、未定義、未定義、...]」と表示する代わりに、「[未定義 x 100]」と簡潔に示します。
初期化されていない要素
初期化されていない要素は、まだ値が割り当てられていない配列内のプレースホルダーです。 JavaScript では、配列は動的であり、動的にサイズを変更できます。配列が作成されるとき、初期サイズを超える要素は初期化されず、特別な値「unknown」が含まれます。
Arguments Array
関数のコンテキストでは、 「arguments」配列は、関数に渡される引数を収集する配列のようなオブジェクトです。このオブジェクトの要素は配列要素 (arguments[0] など) と同様にアクセスできますが、それらは真の配列要素ではないため、削除できません。これらを削除しようとすると、未定義になります。
例
次のスニペットを考えてみましょう。
function foo(x) { console.log(arguments[0]); } foo(); // Logs undefined foo(1); // Logs 1
foo() への最初の呼び出しでは、引数が渡されないため、デバッガーでは「未定義 x 1」となります。 2 番目の呼び出しでは、引数が指定され、通常の「unknown」が出力されます。
結論
Chrome のデバッガの「Unknown x 1」は、初期化されていない要素を示します。配列または配列のようなオブジェクト。これを理解すると、そのようなオブジェクトを効果的にデバッグしたり操作したりするのに役立ちます。
以上がChrome がデバッガーに「未定義 x 1」と表示するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。