typescript - 在 tsconfig.json 中始终将 --alwaysStrict 设置为 true 是个好主意吗?

标签 typescript typescript2.0

只是好奇是否有任何缺点包括:

"compilerOptions": {
  "alwaysStrict": true,
 ...
 }

因为它默认为 false。想法?

最佳答案

严格与始终严格

不仅包括alwaysStrict,而且包括启用的strict标志是个好主意alwaysStrict 还有noImplicitAnynoImplicitThisstrictBindCallApplystrictNullChecksstrictFunctionTypesstrictPropertyInitializationuseUnknownInCatchVariables 更为重要。

混淆名称

这里的名字很困惑,因为“strict”在这里几乎没有什么意思。 strict TypeScript 标志是启用上述多个其他标志的快捷方式。 alwaysStrict TypeScript 标志在 the JS strict mode 中解析您的文件(与 the JS sloppy mode 相反,并在输出中发出 'use strict'。您可以添加 "use strict"; 而不是使用 alwaysStrict 标志; 到您的所有文件(默认情况下 ES modules 是严格的)。

其他严格标志

其他严格的 TypeScript 标志更为重要,因为它们可以帮助您消除这些错误:

strictNullChecks 是这方面最重要的一个。

默认情况下不启用它是为了向后兼容在添加检查 null 和 undefined 的新方法之前编写的旧代码。

有关详细信息,请参阅此答案:

关于typescript - 在 tsconfig.json 中始终将 --alwaysStrict 设置为 true 是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727889/

相关文章:

javascript - 在 TypeScript 中扩展功能

javascript - 如何捕获子组件 setter 抛出的错误?

typescript - 可索引的部分

typescript - 万一使用泛型 TypeScript 的主要原因是什么?

angular - 将 Typescript 2 "noUnusedLocals"与 Angular2 或 NativeScript 结合使用

html - 尝试在样式中插入 typescript 元素时出现术语预期错误

typescript - 如何在声明模块中导出构造函数

typescript - 我怎样才能让 TypeScript 判断我的函数不可能返回?

typescript - 文档类型上不存在属性 "password"

angular - 附加属性的 Typescript 装饰器或继承