第一种:开启strictNullChecks。
interface C {
foo: string;
}
interface B {
c: C | null;
}
interface A {
b: B | null;
}
declare const a: A;
console.log(a.b!.c!.foo)
第二种:关闭strictNullChecks。
interface C {
foo: string;
}
interface B {
c: C;
}
interface A {
b: B;
}
const a: A = {
b: null,
};
大家更倾向于哪一种呢?
我个人现在用的第一种,但总感觉很麻烦。类型声明时要加个 null 倒还好,主要是每处调用都要加个!.或?.。