В JavaScript мы можем добиться инкапсуляции, то есть обеспечить модульность и обеспечить надлежащую область данных, окружив блоки кода {}. Этот подход к инкапсуляции может работать или не работать на других языках в зависимости от доступных функций языка.

Модульность упрощает отладку и обслуживание кода благодаря быстрой изоляции проблемы. Используя ключевое слово «отладчик» в консоли Chrome и node.js в другом месте, мы можем приостановить программу после отдельного блока и быстро изолировать проблемный блок и точку проблемы.

Обеспечение надлежащей области видимости данных позволяет нам определять и повторно использовать ограниченные переменные области видимости, не влияя на что-либо во «внешнем мире». Если я хочу повторно использовать имя переменной «счетчик» снова и снова внутри блока кода, я могу это сделать. (Кстати, я всегда объявляю локальные переменные с помощью ключевого слова «let», но это только я.)

В большой программе есть блоки кода, которые будут использоваться повторно. На практике я пытаюсь определить их как именованные функции, встроенные в логику для первого использования функции; более позднее использование функции будет вызовом функции. Есть блоки кода, которые не будут использоваться повторно, они должны быть окружены {}.

Рассмотрим следующую программу,

В этой программе, если мы удалим «let» в строках 10 или 27, iDontWantToChangeThisVariable будет переменной с глобальной областью действия внутри этих блоков и не будет существовать снаружи; это не идеально, потому что iDontWantToChangeThisVariable был «стерт» снаружи. Если бы «let» в строках 10 или 27 было заменено на «var», то внешняя переменная iDontWantToChangeThisVariable не «стерлась бы» снаружи. Я использую «let» для управления потоком информации в блок.

Мы инкапсулировали каждый блок. Использование ключевого слова «let» на «снаружи» для переменной и отсутствие повторного объявления этой переменной «внутри» позволяет этой переменной, определенной снаружи, входить и выходить из блока (это похоже на то, что функция возвращает несколько значений, если мы хотим, чтобы явные возвращаемые значения работали, мы можем вернуть эти значения в массиве). Наконец, логика программирования и комментарии к каждому блоку встроены, таким образом, этот стиль письма обеспечивает четкую логику.