[Коротко о JS]: ЧТО ТАКОЕ ПОДЪЕМ?

TLDR: [JS In Brief] — это серия коротких сообщений с вопросами и ответами, посвященных разработке. Я хочу обратить ваше внимание о важных аспектах JavaScript. Кроме того, эти сообщения могут быть полезны для подготовки к интервью.

Все темы, представленные в этом курсе, представляют собой список с краткими пояснениями. Чтобы стать профессионалом, вам нужно учиться намного глубже, и ссылки в конце каждого поста помогут вам в этом.

[В]: Что такое подъем?

[A]: Подъем — это поведение JavaScript по умолчанию, когда объявления перемещаются наверх в их области видимости.

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

Чтобы избежать ошибок при программировании, рекомендуется соблюдать простые правила:

  • Не используйте var — он объявляет переменные, областью действия которых является функция, а не блок. Это слишком широко;
  • Объявляйте переменные и функциональные выражения перед их использованием. См. пример ниже:
// 1 Example:
function foo() {
  console.log(message);
  var message='Hoisting!'
}
foo(); // => undefined
// 2 Example:
function foo() {
  var message='Hoisting!'
  console.log(message);
}
foo(); // => Hoisting!

Что еще нужно знать о подъеме?

1. Присвоение значений остается там, где вы его разместили:

function foo() {
  console.log(message);
  var message='Hoisting!'
}
// COMPILATION PHASE:
function foo() {
  var message; // hoisting a variable
               // declaration in the 'foo' scope.
  console.log(message);
  message = 'Hoisting!' // assignment in the same place.
}

2. Давайте посмотрим на поведение let:

console.log(hoist); // ReferenceError: hoist is not defined ...
let hoist = 'Hello!';

Как и в случае с var, мы ожидаем — undefined. Но поскольку es6 let недружелюбен к необъявленным переменным, интерпретатор выдает нам ошибку ссылки.
Это доказывает, что мы должны сначала объявить наши переменные.

let hoist = 'Hello!';
console.log(hoist); // Hello!

ПОЛЕЗНЫЕ МАТЕРИАЛЫ:

  1. Почему мы больше не используем var?

В этом посте предполагается, что вы уже понимаете, что такое JavaScript и его основы. Если нет, то рекомендую прочитать:
1. Как работает JavaScript — Дуглас Крокфорд;
2. Красноречивый JavaScript;
3. The Учебник по современному JavaScript;
4. Руководство по JavaScript;

Для практики: codewars.com

Автор:

Марина Исмаилова Инженер-программист.

Отдельное спасибо за помощь в рецензировании статьи:

Антонио Мендьета Генеральный директор Comida For Familias, Inc. | Джейсон Хоанг, инженер-программист.

Подпишитесь на социальные сети Comida For Familias, Inc.:

Сайт | Фейсбук | Инстаграм | ЛинкедИн | Твиттер

JavaScript очень интересен, удачи в учебе!

P.S. Я стараюсь становиться лучше с вами :)