использование typeof для проверки, не является ли переменная неопределенной - PullRequest
0 голосов
/ 13 октября 2018

почему typeof не проверяет, является ли переменная неопределенной с приведенными ниже фрагментами:

 if(typeof res.data.data[1].name !== undefined){
//the idea is that if code gets here it means it contains some data
    .......
    }

с вышеуказанной проверкой, я все еще получаю этот результат в блоке if

TypeError: Cannot read property 'name' of undefined

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Это происходит потому, что res.data.data[1] само по себе не определено.Я бы предложил расширить ваше состояние до чего-то вроде:

const { data = [] } = res.data;
if (data[1] && typeof data[1].name !== 'undefined') {
  // Do somehing
}

Также ваша проверка неверна, поскольку вы сравниваете typeof result с undefined, в то время как он возвращает строку, в данном случае 'undefined'

0 голосов
/ 13 октября 2018

Это может быть из-за того, что res.data.data имеет значение null, просто добавьте нулевую проверку

if(res.data.data && typeof res.data.data[1].name !== undefined){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...