tslint: есть ли способ отключить предпочитаемое-const в цикле? - PullRequest
0 голосов
/ 23 января 2019

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 внутри циклов?И хотя я мог бы отключить prefer-const в каждом конкретном случае, используя flags rule , я бы не стал загрязнять свой код этими комментариями.В идеале, я бы смог это исправить с настройкой в ​​tslint.json.

1 Ответ

0 голосов
/ 25 января 2019

ВНИМАНИЕ: кажется, что отключение преобразования let в const в цикле невозможно при использовании tslint's prefer-const (или любого другого параметра конфигурации).
(Большое спасибо @ Lynx242 за ваше исследование и понимание!)

В итоге я переместил объявление переменной вне тела самого цикла:

for (let i = 0, len = array.length; i < len; ++i) { const column = array[i];

и в блок инициализации цикла for:

for (let i = 0, len = array.length, column; i < len; ++i) { column = array[i];

Здесь мы не делаем повторное выделение column с каждой итерацией цикла; хотя, возможно, незначительное улучшение производительности, ИМХО, этот код выглядит намного чище и менее запутанным.

...