特定のjavascriptオブジェクトが存在するかどうかを確認しようとしています。typeof演算子が期待どおりに動作していない
var success = function(data) {
var x= 0;
var numOfCards = data.length;
for (x=0;x<data.length - 1;x++)
{
if (typeof data[x].labels[0].name !== 'undefined')
{
alert("Object Exists");
}
}
}
しかし、Chromeは次のエラーを受信:確かに
(index):21 Uncaught TypeError: Cannot read property 'name' of undefined
を、オブジェクトの状態を確認するためのtypeofの私の使用は、それ自体が、エラーになるべきではないのですか? 「ラベル」配列が空であるしかし
data[0].labels[0].name = "I am a value"
、
data[0].labels[1].name
は、エラーが発生しますので、最初の反復では、警告ボックスが表示さは予想通り。
'typeof'は単に値の「型」を返します。値を生成する式を評価するときに間違いなくエラーが発生することがあります。例: 'typeof foo()' 'foo'が関数でない場合、これはエラーを投げます。 –