2016-08-16 3 views
7

Я добавляю linters для js (es6) в моем проекте, и для новых конфигураций я обнаружил, что они не позволяют использовать const внутри функций - только для констант уровня модуля. И внутри функций я должен использовать let. Но я не могу найти никаких оснований для такого правила. Зачем?Почему я должен использовать let вместо const внутри функций?

Для акционерных обществ это, например

disallowConstOutsideModuleScope: const следует использовать только в рамках модуля (не внутри функции/блоки)

Я понимаю, что можно настроить и отключить это правило, Мне просто интересно, для чего это было разрешено? Какова мотивация такой проверки?

P.S. У меня есть связь https://madhatted.com/2016/1/25/let-it-be с блоком «Постоянно Const»

Существует еще одна школа мысли о том, когда использовать пусть и сопзЬ мне нужно обратиться. Эта стратегия предлагает разработчикам использовать const как можно больше. Любая переменная, которая не переопределяется, должна быть объявлена ​​с помощью константы.

Я думаю, что это использование плохой практики. Это добавляет дополнительное отвлечение внимания на процесс программирования, а также приводит к тому, что код трудно понять и изменить.

Но я не могу найти, что аргументы ценные

+4

+1; Я понятия не имею, почему кто-то захочет этого. Вы всегда должны использовать 'const', если вам не нужна переменная для изменения. – SLaks

+2

Кажется, все очень утомляли меня. –

ответ

1

Это просто руководство кодирования. Они следуют this школа мышления. Если вы не хотите его использовать, не стесняйтесь отключать его в файле .jscsrc. Основные моменты:

  1. Агрессивное использование сопзЬ обесценивает оператор
  2. Выбор сопзЬ первый действительно означает выбор думать о каждой декларации. Будет ли следующая строка кода заменять это назначение? Как использовать эту переменную ?
  3. Существует не известная разница в производительности между let и const.
+5

Понятие о том, что агрессивно использовать что-то для того, что оно было спроектировано, может быть как-то «девальвирующим», это откровенно, действительно странно. Я считаю, что я использую 'const' в подавляющем большинстве, поэтому мне не нужно« останавливаться, чтобы думать о каждом объявлении », и если это переменная, которую я хочу изменить, мой редактор/компилятор немедленно сообщает мне, чтобы я мог измените его за две секунды. –

+0

О p1 и p2 - Тогда я могу использовать 'var' всюду. Использование const (и типов в TS) позволяет уменьшить количество ошибок, я полагаю - если я переопределю некоторую переменную, я скажу об этом прямо –

 Смежные вопросы

  • Нет связанных вопросов^_^