Javascriptで配列を初期化する場合、その配列には要素がありません。つまり、何かを配置しない限り、どの位置にも何も存在しません。あなたが持っている唯一のものはあなたがlength
指定した数に設定されています。
要素を読み取ってアクセスし、そこに何も存在しない場合は、次のようになりますundefined
(存在しないオブジェクトのメンバーにアクセスした場合に発生します)。
ただし、まったく存在しない要素は、に設定されている要素と完全に同じではないことに注意してくださいundefined
。例えば:
var x = new Array(5);
console.log(x[2]); // ==> Output is "undefined"
console.log(x.indexOf(undefined)); // ==> Output is "-1" (not present)
x[2] = undefined;
console.log(x.indexOf(undefined)); // ==> Output now is "2"
true
要素がに配置されたときに考慮されるかどうかだけを気にする場合、配列はそのコンテキストにあるものif
を含むように一目で表示されます。undefined
false
ただし、特に自動変換のために、Javascriptの非常に微妙な概念であるfalse
か、または非常に微妙な概念であることに注意してくださいtrue
...たとえば
console.log([] ? 1 : 2); // Output is "1", an empty array is "true"
console.log([] == false); // output is "true" (so it's also equal to false!)