内容提要
TypeScript 5.6引入了新功能和改进,包括恢复了语言服务搜索tsconfig.json文件的更改,添加了--build模式的新标志,以及对真值和nullish表达式的更严格检查。还包括迭代器辅助方法、对任意模块标识符的支持、跳过类型检查的新编译器选项,以及区域优先的诊断、提交字符和自动导入的排除模式的改进。值得注意的行为变化包括在node_modules中尊重文件扩展名和package.json,并对计算属性进行正确的覆盖检查。
关键要点
-
TypeScript 5.6引入了新功能和改进,包括恢复tsconfig.json文件的搜索方式。
-
新增--stopOnBuildErrors标志,允许在构建过程中遇到错误时停止构建。
-
对真值和nullish表达式进行了更严格的检查,能够捕捉到潜在的错误。
-
引入了迭代器辅助方法,支持在生成器中使用map和take等方法。
-
新增IteratorObject类型,解决了TypeScript与JavaScript内置迭代器的命名冲突。
-
引入--noUncheckedSideEffectImports选项,以捕捉未检查的副作用导入。
-
新增--noCheck选项,允许跳过所有输入文件的类型检查。
-
在--build模式下,即使存在中间错误也能继续构建项目。
-
引入区域优先的诊断功能,提高大型文件的编辑响应速度。
-
新增自动导入的排除模式,允许用户指定正则表达式过滤自动导入建议。
-
修复了计算属性的覆盖检查,确保正确检查基类成员的存在性。
延伸问答
TypeScript 5.6有哪些新功能?
TypeScript 5.6引入了对tsconfig.json文件搜索的恢复、新的--stopOnBuildErrors标志、更严格的真值和nullish表达式检查、迭代器辅助方法、支持任意模块标识符等功能。
如何使用TypeScript 5.6的--noCheck选项?
使用--noCheck选项可以跳过所有输入文件的类型检查,适用于快速生成声明文件或在不同阶段分离JavaScript文件生成与类型检查。
TypeScript 5.6中对真值和nullish表达式的检查有什么变化?
TypeScript 5.6对真值和nullish表达式进行了更严格的检查,能够捕捉到潜在的错误,例如不正确的条件表达式将会导致编译错误。
TypeScript 5.6如何改进迭代器的使用?
TypeScript 5.6引入了迭代器辅助方法,如map和take,允许在生成器中使用这些方法,增强了对迭代器的支持。
TypeScript 5.6的--stopOnBuildErrors标志有什么作用?
--stopOnBuildErrors标志允许在构建过程中遇到错误时停止构建,提供了类似于早期版本的行为。
TypeScript 5.6如何处理计算属性的覆盖检查?
TypeScript 5.6修复了计算属性的覆盖检查,确保正确检查基类成员的存在性,避免了之前的错误。