Typescript 在tsconfig.json中始终将--alwaysStrict设置为true是一个好主意吗?
只是想知道包括以下内容是否有任何缺点:Typescript 在tsconfig.json中始终将--alwaysStrict设置为true是一个好主意吗?,typescript,typescript2.0,Typescript,Typescript2.0,只是想知道包括以下内容是否有任何缺点: "compilerOptions": { "alwaysStrict": true, ... } 因为它默认为false。想法 只是想知道是否有任何缺点,包括 即使您的文件不会处于strict模式,也会像对待它一样对待它。e、 g.不允许您在函数体中创建函数声明: 就个人而言:穿上它是个好主意。最好始终使用JavaScript/TypeScript模块(默认情况下处于严格模式)。strict vs alwaysStrict 不仅包括alwaysS
"compilerOptions": {
"alwaysStrict": true,
...
}
因为它默认为false。想法
只是想知道是否有任何缺点,包括
即使您的文件不会处于strict
模式,也会像对待它一样对待它。e、 g.不允许您在函数体中创建函数声明:
就个人而言:穿上它是个好主意。最好始终使用JavaScript/TypeScript模块(默认情况下处于严格模式)。strict vs alwaysStrict
不仅包括alwaysStrict
,而且包括strict
标志是一个好主意,该标志启用alwaysStrict
,noImplicitAny
,noImplicitThis
,StrictCallApply
,StrictCallApply
,NullChecks>,strictFunctionTypes
和strictPropertyInitialization
更为重要
混淆的名字
这里的名字很混乱,因为“严格”在这里几乎没有什么意义。
strict
TypeScript标志是启用上述多个其他标志的快捷方式。alwaysStrict
TypeScript标志在parses in中解析您的文件(与输出中的'use strict'
相反)。您可以将alwaysStrict
标志添加到所有文件中(默认情况下是严格的)
其他严厉的旗帜
其他严格的TypeScript标志甚至更为重要,因为它们可以帮助您消除这些错误:
在这方面,stricknullchecks
是最重要的
默认情况下,它不会启用与旧代码的向后兼容性,旧代码是在添加检查null和undefined的新方法之前编写的
有关更多详细信息,请参阅此答案:
它将以严格模式进行分析,并对每个源文件发出“使用严格的”
,因此您的问题基本上与以下问题相同: