TypeScriptのstrictモードで安全なコードを書く
このプロジェクトではTypeScriptのstrictモードを有効にしています。strictモードは複数のコンパイラオプションをまとめて有効にするフラグです。
strictモードで有効になるオプション
strictNullChecks: nullとundefinedの型チェックを厳格化noImplicitAny: 暗黙的なany型を禁止strictFunctionTypes: 関数の型チェックを厳格化strictPropertyInitialization: クラスプロパティの初期化チェック
実践的な例
// strictNullChecksなし(危険)
function getLength(str: string | null) {
return str.length; // nullの場合ランタイムエラー
}
// strictNullChecksあり(安全)
function getLength(str: string | null) {
return str?.length ?? 0; // nullを安全に処理
}
strictモードを最初から有効にしておくことで、後からの移行コストを避けられます。