#typescript #undefined #null-check
Вопрос:
Мне интересно, как этот код дает object is possibly undefined error
if (newFocus) {
if (viewCache[viewId] !== undefined) {
dispatch(ViewActions.focusOn(viewCache[viewId].focus));
} else {
dispatch(ViewActions.focusOn(newFocus));
}
}
и строка 3 выдает мне ошибку, viewCache[viewId] is possibly undefined
даже когда она завернута в if (viewCache[viewId] !== undefined)
Ответ №1:
Ошибка, похоже, указывает на то, что это viewCache
может быть undefined
. Вы также можете добавить проверку на его существование
if (newFocus) {
if (viewCache amp;amp; viewCache[viewId] !== undefined) {
dispatch(ViewActions.focusOn(viewCache[viewId].focus));
} else {
dispatch(ViewActions.focusOn(newFocus));
}
}