Хорошее видео. Неожиданно не просто список вопросов и ответов, а довольно глубокая оценка. Есть замечание про this на схеме "calling a normal function" а случае если это не dot-нотация нужна еще одна развилка: используется строгий режим (например в модуле, или указанный вручную) или нет. Т.к. this === undefined в этом сценарии только в строгом режиме. В нестрогом там будет globalThis. Это, конечно, есть на схеме "in script or module", но лучше было еще раз уточнить этот момент. да и важно не то, модуль это или нет, а именно строгий или используется режим. если включить строгий режим в скрипте без модуля, то так же получим undefined. В примере на замыкания ошибочка. На собесе бы за такое зацепились )) Первый вызов counter() вернет 0, т.к. у нас там постинкремент. вот если бы в возвращаемой функции было return ++count, тогда все бы соответсвовало логам.
очень круто сделал. очень глубоко разобрал каждый вопрос. т.е. ты именно разобрал вопрос, дал понимание почему так, а не тупо сказал что это так. респект
Спасибо! 1. Примитивы тоже передаются по ссылке, а не по значению. Это легко заметить, если переменную с огромным стрингом отправить в качестве параметра в функцию: размер кучи не поменяется. 2. Псевдомассив arguments де-факто deprecated. Используй метод rest вместо: (...args)
00:24:15 У меня тут мозг оплавился. VAR "вспылыл". Далее в стек вызовов помещается цикл, при каждой итерации, сеттаймаут попадает в макрозадачи. После выполнения цикла, у нас в очереди макрозадач 10 сеттаймаутов. После завершения цикла у нас i = 10. Далее выполняются микрозадачи (промисы). После опустошения стека вызовов, выполняются макрозадачи. Первый Сеттаймаут кладет консоль лог в стек вызовов, стек вызовов выполняет его и выводит i=10. Стек вызовов пустой - выполняется следующий сеттаймаут.
Хорошее видео. Неожиданно не просто список вопросов и ответов, а довольно глубокая оценка.
Есть замечание про this на схеме "calling a normal function" а случае если это не dot-нотация нужна еще одна развилка: используется строгий режим (например в модуле, или указанный вручную) или нет. Т.к. this === undefined в этом сценарии только в строгом режиме. В нестрогом там будет globalThis.
Это, конечно, есть на схеме "in script or module", но лучше было еще раз уточнить этот момент. да и важно не то, модуль это или нет, а именно строгий или используется режим. если включить строгий режим в скрипте без модуля, то так же получим undefined.
В примере на замыкания ошибочка. На собесе бы за такое зацепились ))
Первый вызов counter() вернет 0, т.к. у нас там постинкремент. вот если бы в возвращаемой функции было return ++count, тогда все бы соответсвовало логам.
Привет! Спасибо тебе большое за фидбек, замечания более чем уместные, со всеми соглашусь)
очень круто сделал. очень глубоко разобрал каждый вопрос. т.е. ты именно разобрал вопрос, дал понимание почему так, а не тупо сказал что это так. респект
Нужно такое же видео по angular)
Спасибо!
Супер полезно, давно ждал) Еще бы такое же по ангуляру
Спасибо! По ангуляру обязательно выпущу аналогичное видео)
@@vladimirlebedev00010 ждём!
Крутое видео, большую часть вопросов отсюда действительно спрашивали (хожу по собесам уже несколько месяцев, завтра очередной). Спасибо за контент)
Спасибо! Удачи на собеседованиях!)
И что никуда не берут 😮
@@y6uwа думаете так легко устроиться и вас сразу возьмут
@@user-sv5fz2bv7z не знаю как сейчас. Давно не проходил. Сколько уже собесов без офера?
Спасибо!
1. Примитивы тоже передаются по ссылке, а не по значению. Это легко заметить, если переменную с огромным стрингом отправить в качестве параметра в функцию: размер кучи не поменяется.
2. Псевдомассив arguments де-факто deprecated. Используй метод rest вместо: (...args)
Классное видео!
Откройте форточки перед включением видоса или включите кандер на максимум, а то задохнетесь от духоты. Лайк поставил)
Супер полезно
00:24:15 У меня тут мозг оплавился. VAR "вспылыл". Далее в стек вызовов помещается цикл, при каждой итерации, сеттаймаут попадает в макрозадачи. После выполнения цикла, у нас в очереди макрозадач 10 сеттаймаутов. После завершения цикла у нас i = 10. Далее выполняются микрозадачи (промисы). После опустошения стека вызовов, выполняются макрозадачи. Первый Сеттаймаут кладет консоль лог в стек вызовов, стек вызовов выполняет его и выводит i=10. Стек вызовов пустой - выполняется следующий сеттаймаут.
В использовании var iife получила undefined 10 раз
Привет! А попробуй точь-в-точь скопировать пример из видео)
БАЗА!
Мурыч бы оценил)
1:29:50 опечатка, атрибут не defer, a async
1:39:42 разве асинхронность работает в forEach ? Похоже на ошибку
Почему нет? Он принимает коллбек, вполне им может быть асинхронная функция)
хороший урок
и это на джуна?
В целом на любой грейд одни и те же вопросы задают