一年前在新项目里开了全套 strict(strict、noUncheckedIndexedAccess、exactOptionalPropertyTypes),刚开始大家都很痛苦,现在回头看收益巨大。
最大的改变:
- 重构敢动手了,编译器会兜底。
- null 处理变严谨,runtime 报错少了一半。
- 数组下标访问不再默认可信,逼着写边界检查。
exactOptionalPropertyTypes 这个最严格,会区分 undefined 和 "字段不存在",初期有点反直觉但很值。
建议大家新项目无脑开,老项目渐进开。
大家 strict 都开到啥程度?