tsconfig.json に strict を書いていないプロジェクトでは、strict は有効ですか。
TypeScript 6.0 以降は既定で有効です。5.x までは書かなければ無効でした。以前の挙動に頼っていたなら "strict": false を明示します。7.0 も 6.0 の挙動を引き継いでいます。
面接官が見ているのは🔴 6.0 で変わった既定値。古い前提のままだと設定を読み違える。
よくある答えと、面談でどう見られるか
- TypeScript 6.0 以降なら有効。それより前の版なら無効
6.0 で既定値が true になりました。版によって答えが逆になるところです。 - 無効。strict は書かないと有効にならない
5.x まではその通りでした。6.0 で既定が有効に変わったので、版を確かめる必要があります。 - 有効。TypeScript は最初から strict が既定
5.x までは無効が既定でした。古いプロジェクトでは書いていないなら無効です。 - strict は 7.0 で廃止された
廃止されていません。6.0 で既定が有効になり、7.0 もそれを引き継いでいます。
模範解答
版によります。TypeScript 6.0 で strict の既定値が true に変わりました。5.x までは、書かなければ無効でした。
公式のリリースノートは、以前の既定(false)に頼っていたならtsconfig.json に "strict": false と明示するよう案内しています。7.0 は 6.0 の挙動を引き継いでいます。
strict はまとめスイッチで、noImplicitAny(暗黙の any を禁止)やstrictNullChecks(null と undefined を別の型として扱う)などをまとめて有効にします。参画したプロジェクトでは、まず TypeScript の版と tsconfig.json を見て、どの検査が効いているかを確かめます。
出典(一次資料)
対象: TypeScript 5.x〜7.0 照合した一次資料: 公式ドキュメント 照合: 2026-10-25 最終更新: 2026-10-25
お使いの版で挙動が違う場合があります。誤りに気づいたらこの解説を報告するから教えてください。