[Коротко о 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!
ПОЛЕЗНЫЕ МАТЕРИАЛЫ:
В этом посте предполагается, что вы уже понимаете, что такое JavaScript и его основы. Если нет, то рекомендую прочитать:
1. Как работает JavaScript — Дуглас Крокфорд;
2. Красноречивый JavaScript;
3. The Учебник по современному JavaScript;
4. Руководство по JavaScript;
Для практики: codewars.com
Автор:
Марина Исмаилова Инженер-программист.
Отдельное спасибо за помощь в рецензировании статьи:
Антонио Мендьета Генеральный директор Comida For Familias, Inc. | Джейсон Хоанг, инженер-программист.
Подпишитесь на социальные сети Comida For Familias, Inc.:
Сайт | Фейсбук | Инстаграм | ЛинкедИн | Твиттер
JavaScript очень интересен, удачи в учебе!
P.S. Я стараюсь становиться лучше с вами :)