typescript - 绕过 tslint : one-variable-per-declaration

标签 typescript tslint

如何根据此规则为以下代码编写代码?

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

最佳答案

这几乎是 JavaScript 中的经典。

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

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

所以这是默认的“tsLint 推荐解决方案”...

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

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

如果您不同意,您当然可以禁用该规则 - 这是执行此操作的“评论”方式。

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

或者配置方式:

"one-variable-per-declaration": false

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

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

关于typescript - 绕过 tslint : one-variable-per-declaration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40727084/

相关文章:

Angular2 Component 不会为参数化路由重新初始化

angular - "ng lint"安静选项?

javascript - tslint.json 在 VS 代码中不起作用

javascript - 静态删除对象键 JavaScript

typescript - tslint 一行规则错位 'else'

css - 如何在 typescript 中为一个元素设置多个 CSS 样式属性?

javascript - 当我的 browserslist 只是 `last 1 Chrome version` 时,为什么我的 Angular 应用程序的 polyfills.js 是 36kb?

typescript - VSCode 扩展 : How to debug "Activating extension ' undefined_publisher. 扩展名'失败 : Unexpected token {.“

Angular5 服务调用不适用于 ngOnInit

arrays - 如何在嵌套的 FormArrays 中添加元素?