如何在此规则下为以下内容编码?
let someArray = [...];
for (let i = 0, n = someArray.length; i < n; i++) {
...
}
Run Code Online (Sandbox Code Playgroud)
这实际上是 JavaScript 中的经典之作。
tsLint 规则旨在提高代码的可读性。
大多数人缓存数组的长度是因为他们认为有性能优势。如果这是您这样做的唯一原因,那么潜在的边际收益不值得为可读性付出代价(而且当我在浏览器中运行 JSPerf 测试时,它实际上更慢)。
所以这是默认的“tsLint推荐解决方案”......
for (let i = 0; i < someArray.length; i++) {
Run Code Online (Sandbox Code Playgroud)
在 JavaScript 中,length 属性不会迭代数组,因此成本可以忽略不计。
如果您不同意,您当然可以禁用该规则 - 这是执行此操作的“评论”方式。
/* tslint:disable:one-variable-per-declaration */
Run Code Online (Sandbox Code Playgroud)
或者配置方式:
"one-variable-per-declaration": false
Run Code Online (Sandbox Code Playgroud)
或者在您的情况下,您可能希望使用仅针对for循环禁用它的配置标志:
"one-variable-per-declaration": [true, "ignore-for-loop"]
Run Code Online (Sandbox Code Playgroud)