为什么TypeScript在WebStorm中不检查空值?

6yoyoihd  于 2022-11-18  发布在  TypeScript
关注(0)|答案(1)|浏览(144)

我有一个有趣的问题。代码如下:

type Person = {
  name: string | null,
  age: number | null,
  contacts: {
    phone: number | null,
    email: string | null
  } | null
}

const emptyPerson: Person = {
  name: null,
  age: null,
  contacts: null
}

// should warn that `contacts` can be `null`, but it's not
console.log(emptyPerson.contacts.email)

似乎TS是缩小型,但为什么?

我在TypeScript Playground中尝试了同样的代码,它工作得很好。
所以我的问题是为什么TS退出null,以及如何防止这种奇怪的行为?

8ulbf1ek

8ulbf1ek1#

正如VLAZ评论的那样,问题出在strictNullChecks选项中,将其设置为true解决了问题。

相关问题