Я проверяю if(response[0].title !== undefined)
, но я получаю ошибку:
Uncaught TypeError: Невозможно прочитать свойство 'title' из undefined.
javascript
undefined
Раймонда
источник
источник
Ответы:
response[0]
не определен, проверьте, определен ли он, а затем проверьте его заголовок свойства.источник
undefined
это не ключевое слово JavaScript (хотя, кажется, все думают, что это так). Если вы хотите, вы можете создать переменную с именем,undefined
и тогда эта проверка будет неправильной. Единственный правильный способ - это проверить(typeof myVar !== 'undefined')
.undefined
?Просто проверьте,
response[0]
не определено ли:Если вам все еще нужно явно проверить заголовок, сделайте это после начальной проверки:
источник
У меня были проблемы со всеми другими примерами кода выше. В Chrome это было условие, которое работало для меня:
Мне придется проверить это в других браузерах и посмотреть, как идут дела, я полагаю.
источник
undefined
что должна быть строка.На самом деле вы должны окружить его блоком Try / Catch, чтобы ваш код не переставал работать. Как это:
источник
тип:
источник
Это будет потому, что
response[0]
сам не определен.источник
Проверьте, если
condition == null
; Это решит проблемуисточник
Проверьте, существуете ли вы на
response[0]
самом деле, похоже, что ошибка не существует.источник
Сначала вы должны проверить,
response[0]
является ли неопределенным, и только если это не так, проверьте все остальное. Это означает, что в вашем случаеresponse[0]
не определено.источник
Я знаю, что я приехал сюда на 7 месяцев позже, но я нашел эти вопросы, и это выглядит интересно. Я попробовал это на моей консоли браузера.
Если переменная x не определена, ошибка отлавливается, и она будет ложной, в противном случае она вернет true. Таким образом, вы можете использовать функцию eval, чтобы установить значение переменной
источник
В некоторых из этих ответов есть фундаментальное недоразумение о том, как использовать
typeof
.некорректный
Верный
Причина в том, что
typeof
возвращает строку. Следовательно, вы должны убедиться, что она вернула строку «undefined», а неundefined
(не заключенную в кавычки), которая сама по себе является одним из примитивных типов JavaScript .typeof
Оператор никогда не возвращает значение типаundefined
.добавление
Ваш код может технически работать, если вы используете неправильное сравнение, но, вероятно, не по той причине, о которой вы думаете. В
undefined
JavaScript нет ранее существовавшей переменной - это не какое-то волшебное ключевое слово, с которым можно сравнивать вещи. Вы можете создать переменную с именемundefined
и присвоить ей любое значение.И вот пример того, как вы можете использовать это, чтобы доказать, что первый метод неверен:
https://jsfiddle.net/p6zha5dm/
источник