5 вопросов по JavaScript, на которых каждый может ошибиться

preview_player
Показать описание
В этом видео мы разберём пять каверзных вопросов по JS, которые могут застать вас врасплох на собеседовании.
Вопросы касаются объявления переменной через var, областей видимости, всплытия, стрелочных функций и других тонкостей.

Видео прежде всего полезно потенциальным джуниорам, однако может пригодиться и "взрослым" специалистам.
Рекомендации по теме
Комментарии
Автор

for (let i = 0; i <= 5; i++) {
setTimeout(function () {console.log(i)}, i * 600);
}
Как раз последовательно выведет 0, 1, 2, 3, 4, 5
так как значения переменных, которые объявлены с помощью let фиксируются в колбэке.
Если бы вместо let был var, тогда да, вывел бы одни 6.

SurenEnfiajyan
Автор

Правильный ответ на вопрос с var: не используйте var. Не важно, какой был вопрос.

vuhnuli
Автор

В примере №2 про области видимости переменных упоминается про hoisting как всплытие, но в JS термин всплытие используется для другого понятия - bubbling всплытие в обработке событий. А hoisting в данном контексте - это "поднятие", а не всплытие: Поднятие или hoisting — это механизм в JavaScript, в котором переменные и объявления функций, передвигаются вверх своей области видимости перед тем, как код будет выполнен. А еще важно, что JavaScript "поднимает" только объявление, но не инициализацию.

losbojos
Автор

В последнем примере надо добавить, что перед тем как присвоить переменной "а" значение "3" (var a = 3) произойдет операция а++. Так как переменная "а" на этом этапе будет равна undefined результатом a++ будет NaN. А уже далее переменной "а" будет присвоено новое значение 3

povezlo
Автор

Голос потрясающий!
Материал зачётный!
Кот бомбезный!

tekartgroup
Автор

Видео понравилось, короче учить и учить ещё😨 Удачи каналу!

zoyascharfschwerdt
Автор

по settimeout косяк, там отработает от 0 до 5, потому что лет, а не вар. При вар будет то что автор сказал.

eduards
Автор

Первый вопрос: правильный ответ все равно совпал, потому что объекты равны не будут)
Вывод: дружно настраиваем eslint

ForesteamIV
Автор

Хорошо объясняешь и голос приятны спокойный, Короче спасибо, я подписался.
Только где обещанные короткие видео объясняющие области видимости, хоистинг и прочее? Не вижу на канале.

alexj
Автор

Лет десять назад любил как раз такие задачки соискателям подкидывать.
Но... Практика показала, что пользы в них мало. Самозванцев более простые способы выявляют. А вполне потом работоспособные спецы-трудяжки их могут не решить с первого раза. Такие задачки подходят для "исследователей". Работник который может что-то неординарное сделать, но рутину решает плохо (медленно).
Вот такой мой вывод пока по таким задачкам )))

dll
Автор

Хорошее видео, вопрос про this стрелочной функции у меня сегодня на интервью был.

WinchesterD
Автор

Спасибо за обучающее видео! Все отлично! По nextjs 13 версии можно тоже сделать подобное?

maxmuc
Автор

Видео конечно интересное)

но эти задачки с VAR) как по мне это уже далекое прошлое, последний раз писал его в 2015 году

никто при нормальной разработке фронт-енд приложения (где есть норм ревью кода) не позволит вам написать VAR

pynmmub
Автор

for (let i = 0; i < 5; i++) {
setTimeout(()=>console.log(i), i*100)
}
Код действительно выведет от 0 до 5, но не потому, что let блочный
исходя из такой логики...

let i = 0;
setTimeout(()=>console.log(i), 100);
i++;
i++;

...код выше должен вывести - 0, но на самом деле выведет - 2

а этот пять пятёрок
let i = 0;
for (; i < 5; i++) {
setTimeout(()=>console.log(i), i*100)
}

let в for - это единственный случай когда переменная замыкается по значению

energizet
Автор

невероятно, я именно так себе и представлял javaScript.

Activan
Автор

Почему у этого канала так мало просмотров? Качество видео просто топ. Этот канал заслуживает гораздо большего.

eukfxbh
Автор

нет в JS спецификации такого определения как Hoisting

it-coding
Автор

Последний был настолько очевиден, что после setTimeout и стрелочной функции, я молча заорал: данунахер неужели 1!?

DFMN
Автор

А в вопросе с таймаутом нас просто газлайтят?
Несколько ошибок в видосе как недопустить ошибки на собеседовании. А точно остальной части видое можно верить?

romankorolev
Автор

Хахаха, закончил на джуна с дипломом, написал имаг. А ответил верно лишь на 2 вопроса. Кстати автор, когда будет тот самый "следующий раз"?

podpalmoi