只是好奇是否有任何缺点包括:
"compilerOptions": {
"alwaysStrict": true,
...
}
因为它默认为 false。想法?
最佳答案
严格与始终严格
不仅包括alwaysStrict
,而且包括启用的strict
标志是个好主意alwaysStrict
和还有noImplicitAny
、noImplicitThis
、strictBindCallApply
、strictNullChecks
、strictFunctionTypes
、strictPropertyInitialization
和 useUnknownInCatchVariables
更为重要。
混淆名称
这里的名字很困惑,因为“strict”在这里几乎没有什么意思。
strict
TypeScript 标志是启用上述多个其他标志的快捷方式。 alwaysStrict
TypeScript 标志在 the JS strict mode 中解析您的文件(与 the JS sloppy mode 相反,并在输出中发出 'use strict'
。您可以添加 "use strict"; 而不是使用
到您的所有文件(默认情况下 ES modules 是严格的)。alwaysStrict
标志;
其他严格标志
其他严格的 TypeScript 标志更为重要,因为它们可以帮助您消除这些错误:
strictNullChecks
是这方面最重要的一个。
默认情况下不启用它是为了向后兼容在添加检查 null 和 undefined 的新方法之前编写的旧代码。
有关详细信息,请参阅此答案:
关于typescript - 在 tsconfig.json 中始终将 --alwaysStrict 设置为 true 是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727889/