请问在typescipt中,Nullable类型的变量,为什么做了非空判断还是报错?

有一个变量的类型定义为Nullable
let skybox: Nullable<Mesh>

然后我想使用的时候,即使做了判断,仍然报错可能为空,请问是什么原因呢?

  if(skybox) {
    probe.renderList.push(skybox)  //error:Object is possibly 'null'
  }
阅读 3.5k
2 个回答

Nullable 是可以为空的意思,不能为空应该是 NonNullable,而且ts中好像并没有 Nullable

我大概复现了你描述的代码,但并没有发现你所遇到的问题

image.png

所以,实际情况如何,能否给出完整可复现问题的代码

对这句:probe.renderList.push(skybox) 来说,还有可能 probe 或者 probe.renderList 是空。报错到底是报在哪上面的呢?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题