Освойте эти концепции, чтобы понять весь потенциал JavaScript.

JavaScript — единственный родной язык программирования для создания интерфейсов веб-приложений, работающих в стандартных веб-браузерах. Каждый популярный веб-браузер соответствует известному стандарту ECMAScript и позволяет веб-разработчикам запускать переносимый совместимый код JavaScript. Экосистема JavaScript, еще один популярный язык программирования, предлагает несколько уникальных концепций программирования, которые помогают разработчикам писать понятные и ориентированные на производительность исходные коды. Большинство современных проектов веб-разработки используют эти концепции JavaScript в своих базах кода. Использование некоторых из этих концепций неизбежно в некоторых требованиях к разработке.

Итак, есть некоторые обязательные концепции JavaScript, которые должен знать каждый веб-разработчик в своей карьере. Разработчикам не нужно глубоко понимать эти концепции, чтобы писать простые экспериментальные веб-приложения. Но понимание этих концепций JavaScript позволяет вам использовать весь его потенциал для продуктивного написания веб-кодовых баз производственного уровня, а также понимать внутренние механизмы JavaScript. Понимание основных концепций JavaScript поможет вам быстрее выявлять ошибки, а также поможет вам повысить свой карьерный уровень.

В этой статье я объясню несколько основных концепций JavaScript, которые вам следует знать как опытному веб-разработчику.

Закрытие и подъем

Обычно мы не используем глобальные переменные и одну основную функцию в исходных кодах JavaScript — мы часто разлагаем нашу модель выполнения кода на несколько составных сегментов посредством определения области действия. Например, функция может вызывать другую функцию, которая использует частные переменные для вычисления определенного значения. Замыкание — это функция, которая находится внутри другой функции и позволяет программистам создавать внутреннюю область видимости. Внутренняя функция (замыкание) может получить доступ к основной области функции после вызова функции.

Давайте разберем эту концепцию на простом примере:

function createUnitAdder(unit) {
  return (val) => `${val} ${unit}` 
}

const cm = createUnitAdder('cm');
const kg = createUnitAdder('m');

console.log(cm(120));   // 120 cm
console.log(kg(7.5));   // 7.5 m