Замена let на const

От автора: использование const в JavaScript дает несколько преимуществ. В статье мы поговорим об использовании let и const в JavaScript.

Начнем с преимуществ const перед let:

Это позволяет команде, проверяющей ваш код, быть уверенным что значение переменной не будет изменено.

Будет вызвана ошибка, если вы пытаетесь изменить эту переменную, предотвращая случайное повторное присвоение.

Оптимизирует виртуальную машину для использования неизменных значений.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Позволяет избежать побочных эффектов, вызванных конфликтами в значениях переменных.

Больше соответствует функциональному программированию и неизменяемым состояниям.

Является хорошей практикой использования TypeScript.

Обычная практика — использовать const по умолчанию, обозначая, что переменная постоянна и неизменна. Однако это может сбивать с толку, если вам нужна постоянная переменная, которая определена условно, но в остальном неизменна. Приведу пример:

В приведенном выше примере я условно определил переменную с типом let, что позволяет мне немедленно переназначить ее значение. Значение переменной не изменится в будущем, и мне хотелось бы определить ее как константу, чтобы показать, что я не хочу, чтобы будущий код когда-либо изменял его.

Всегда есть несколько способов решить проблему. В этом случае вы можете использовать определение height как const, но в некоторых случаях это может быть не лучшим (или возможным) решением. Я хочу предложить решение, которое применимо для всех видов использования let.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Это решение может быть не самым оптимальным, но оно применимо к каждому варианту использования и может быть расширено для любого рефакторинга. Вы можете использовать этот шаблон, чтобы заменить свой let на const. Наше решение — использование функций.

В этом примере каждое условное выражение (name === ‘Value’) возвращает значение для переменной height. Использование операторов возврата return позволяет множеству значений существовать в одной области функции без использования временных переменных (let). Я использую этот паттерн все время, и мне он нравится.

Код длиннее? Да. Это более читабельно? Да. Его проще поддерживать? Да. Менее подвержен ошибкам пользователя? Да. Модульное тестирование проще? Да.

Если вы используете let чтобы назначать значеие переменной на основе условных выражений ( if (…) { myVar = …; }), подумайте об использовании функции для проверки условий и возврата присвоения ( function abc() { if (…) { return …; } }).

Удачного кодирования!

Автор: Charles Stover

Источник: charles-stover.medium.com

Редакция: Команда webformyself.

Читайте нас в Telegram, VK, Яндекс.Дзен

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Full-Stack практика. Создание JavaScript блога

Создание веб-приложения с нуля на JavaScript, NodeJS, ExpressJS

Смотреть

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Комментирование закрыто.