打字稿:对象可能未定义,但我使用是否链接检查

时间:2018-12-20 22:09:05

标签: typescript

我有此代码, 但是我在此代码上加了下划线'startups [i] .logo'可能是未定义的错误,如果我使用是否检查值,为什么会出现此错误?

  for (let i = 0; i < startups.length; i++) {
    let startup = startups[i];
    if (startups[i] && startups[i].logo && startups[i].logo.location) {
      aStartup.push({
        objectID: startups[i].id,
        logo: startups[i].logo.location,
      });
      batchCount ++;
    }

1 个答案:

答案 0 :(得分:1)

将可为空的部分提取为局部变量:

.blue {
  background: blue;
  flex-grow: 1;
}

.red {
  height: 80px;
  min-width: 228px;
  max-width: 362px;
  width: 100%;
  background-color: red;
}

这有所作为,因为TypeScript知道在此块中消除了所有可为空的情况。