Я пытаюсь проверить, существует ли какой-либо конкретный объект 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' не является функцией, это вызовет ошибку. –