【发布时间】:2020-01-24 18:56:46
【问题描述】:
tslint 5.11 刚刚进行了以下let 到const 的转换:
for (let i = 0, len = array.length; i < len; ++i) {
let column = array[i];
到
for (let i = 0, len = array.length; i < len; ++i) {
const column = array[i];
但是(虽然可能是无害的)我认为这种改变是错误的! (因为它是不必要的和误导性的。)
有没有办法在循环中禁用let 到const 的转换?
虽然我可以使用rule flags 逐个禁用prefer-const,但我宁愿不要用这些cmets 污染我的代码。理想情况下,我可以使用tslint.json 中的设置来解决此问题。
【问题讨论】:
-
你能提供额外的代码吗?
column在后面的代码行中是做什么用的? -
没关系 - 代码是通用的。而不是 column 我们可以称之为
elem可能(对于 Array 元素,不一定是 DOM 元素) -
好的。据我所知
let比const消耗更多的内存。并且只要不在后续代码中重新赋值column,建议使用const而不是let。阻止它的方法如下:palantir.github.io/tslint/rules/prefer-const -
我不确定我是否理解;
prefer-const设置是我如何完全禁用let到const的转换,但我希望只在循环中禁用它。这不可能吗? -
不幸的是,我找不到比这更精细的开关了。我想目前无法区分这些情况。你要么完全做,要么根本不做。对不起。
标签: typescript tslint