sum*_*umi 7 javascript jshint typescript
请考虑以下TypeScript代码示例.
var checkEqual = function (a:any, b:any) {
if(a == null)
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
当我编译它时,它将生成相应的JavaScript文件而没有任何编译时错误,如下所示:
var checkEqual = function (a, b) {
if (a == null) {
return false;
}
};
Run Code Online (Sandbox Code Playgroud)
但是当我在编译的JavaScript代码/文件上运行JSHint时,我会有以下错误/警告:
使用===与null进行比较
我希望TypeScript中编译的JavaScript代码与JSHint兼容(不存在任何错误和警告).这意味着要么它应该生成正确的代码,要么它应该给出编译时错误.
PS:之前我不知道tslint,但即使在使用它之后,它也没有编译与JSHint兼容的JavaScript(JSHint仍在抛出警告).
这根本不可能!从来没有构建TypeScript,目的是创建符合linter的代码.使用TypeScript时,您必须将生成的JavaScript视为字节码.没有理由查看你的字节码.
有些麻烦甚至可能会使用有问题的麻烦this.事实上,在ES5中应该非常谨慎地使用它.但是当使用TypeScript/ES2015类定义时,您需要使用this很多,并且转换为ES5将创建很多它们.因此,创建与您的linter匹配的代码将迫使您不使用TypeScript的许多功能.
所以如果你想要lint字节码,那么你应该写字节码;)
| 归档时间: |
|
| 查看次数: |
634 次 |
| 最近记录: |