绕过tslint:每个声明一个变量

时间:2016-11-21 18:32:44

标签: typescript tslint

如何根据此规则对以下内容进行编码?

let someArray = [...];
for (let i = 0, n = someArray.length; i < n; i++) {
  ...
}

1 个答案:

答案 0 :(得分:2)

这实际上是JavaScript中的经典之作。

tsLint规则旨在提高代码的可读性。

大多数人缓存数组的长度,因为他们认为存在performance benefit。如果这是你做这件事的唯一原因,那么潜在的边际收益不值得花费可读性(当我在浏览器中运行JSPerf测试时,它实际上更慢)。

所以这是默认的&#34; tsLint推荐的解决方案&#34; ...

for (let i = 0; i < someArray.length; i++) {

在JavaScript中,length属性不会迭代数组,因此成本可以忽略不计。

如果您不同意,您当然可以禁用该规则 - 这是&#34;评论&#34;这样做的方法。

/* tslint:disable:one-variable-per-declaration */

或配置方式:

"one-variable-per-declaration": false

或者在您的情况下,您可能希望使用仅为for循环禁用它的配置标志:

"one-variable-per-declaration": [true, "ignore-for-loop"]