tsconfig.json の compilerOptions に
"strictNullChecks": true
を追加しておくと便利。
これをすることで、string や number などに null や undefined を代入することが出来なくなる。
let name: string;
name = null; ← ここでコンパイルエラー
let count: number;
count = undefined; ← ここでコンパイルエラー
null や undefined を代入したい場合は、型指定時に明示しておけばOK。
let name: string | null;
name = null; ← これはOK
let count: number | null | undefined;
count = undefined; ← これはOK
「ユニオン型」というらしいですね。
http://d.hatena.ne.jp/m-hiyama/20180117/1516157225
色々なシチュエーションで、「この変数の値は null/undefined になる可能性がある(もしくは無い)」という事を明示出来るのでnullチェック忘れや過剰なnullチェックを減らす事が出来ます。