Хорошее видео. Неожиданно не просто список вопросов и ответов, а довольно глубокая оценка. Есть замечание про 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. Стек вызовов пустой - выполняется следующий сеттаймаут.
Спасибо за видео. Поправка, рендер делается после выполнения микротасок, а не после макро
Спасибо! А можно ссылочку на источник, пожалуйста? Ознакомился бы с удовольствием)
@@vladimirlebedev00010 на learn js страница event-loop, там заголовок микро и макрозадачи. Ютуб ссылки удаляет
Поправка, такого понятия как макротаска не существует
@@tnsaturday это понятие которое придумало сообщество. В спецификации нет.
@@dididie158 если какого-то понятия нет в спецификации, значит его не существует.
Спасибо!
БАЗА!
1:29:50 опечатка, атрибут не defer, a async
В использовании var iife получила undefined 10 раз
Привет! А попробуй точь-в-точь скопировать пример из видео)
Супер полезно
Мурыч бы оценил)
хороший урок
1:39:42 разве асинхронность работает в forEach ? Похоже на ошибку
Почему нет? Он принимает коллбек, вполне им может быть асинхронная функция)
и это на джуна?
В целом на любой грейд одни и те же вопросы задают
очки навалили кринжа
На клонировании объекта стало понятно, что автор видео вообще не понимает, что такое JavaScript. Вкатунам, впрочем, зашло, что видно по комментам.
Привет! Хотелось бы поконструктивнее критики, если не затруднит)
@@vladimirlebedev00010 привет! Ну ты же из интернета просто взял решения. Попробуй ими склонировать объект, ты удивишься результату
@@vladimirlebedev00010 ну или давай начнем сразу. Ты когда-нибудь что-то слышал про прототипное наследование?
@@vladimirlebedev00010 ну или давай начнем сразу. Ты когда-нибудь что-то слышал про прототипное наследование?
Так и не понял, в чем претензия. Моё решение не покрывает все кейсы? Очевидно, полифил выглядел бы сложнее, чем то, что я реализовал, ну а кому это нужно? На собеседованиях чаще всего несколько задач, если представить, что это одна из них, то предложенного мной решения хватит.