tsconfig.json 中的 "strict": true 一次启用一系列更严格的检查。强烈建议所有新项目使用 — 它可以捕获 TypeScript 存在的目的是防止的 bug。
json
{ "compilerOptions": { "strict": true } }
为什么这很重要
ts
: = ;
() { u.; }
() {}
{ : ; }
tsconfig.json 中的 "strict": true 一次启用一系列更严格的检查。强烈建议所有新项目使用 — 它可以捕获 TypeScript 存在的目的是防止的 bug。
{ "compilerOptions": { "strict": true } }
: = ;
() { u.; }
() {}
{ : ; }
strictNullChecks 是最重要的:它将 null/undefined 与其他类型分开,所以编译器强制你在任何地方处理「可能缺失」的情况 — 消除了运行时错误的第一类("cannot read property of undefined")。
逐步打开标志(strictNullChecks 优先),逐个文件修复错误,而不是一次在大型遗留项目上启用所有内容。
没有 strict 模式,TypeScript 仍然允许许多它旨在防止的不安全模式(隐式 any、未检查的 null)。
Strict 模式是 TypeScript 发挥大部分价值的地方 — 将其视为默认设置,只有充分的理由才放松单个标志。