Javascript配列がnullの場合はエラー

私は配列を持っています: this.entries = [] 。いくつかのコードを実行し、この if ステートメントを複数回実行します。

if(this.entries[2] != null)

すべてのコードを実行した後、配列をリセットするまで、すべて正常に動作します。

I've tried doing this.entries = [] and this.entries.splice(0, this.entries.length);

私はコードを再実行し、 if ステートメントに到達すると次のエラーが表示されます。

Cannot read property '2' of null

私が知る限り、何も違うものはありません。ヒントとヘルプは非常に高く評価されます。

0
あなたはあなたの全体の機能を投稿できますか?
追加された 著者 Kevin Anthony Oppegaard Rose,

1 答え

ここにいくつかのオブジェクトがあります。もちろん this が決して null であってはなりません。次に、配列 this.entries があります。物を入れることができる容器と考えてください。次に、 this.entries [i] がコンテナ内のものです。

this.entries [2] が失敗すると、コンテナのスロット2にオブジェクトが存在しないことを意味します。

ただし、読み込み不可能な '2'のnull というエラーは、コンテナがないことを意味します。つまり、配列自体がnullに設定されています。

4
追加された
Javascriptでは、範囲外の配列にアクセスすることができます。この配列は、書き込みのために配列の読み込みとサイズ変更のために undefined を返します。この場合、「ヌルエラー」などはありません。
追加された 著者 hugomg,
説明をありがとうございます。私は間違って他の場所のヌルにエントリを設定していたようで、クラッシュする原因となっていました。
追加された 著者 brenjt,
@missingno:修正されました。
追加された 著者 Chris Cudmore,
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript