Juniors Lab
Juniors Lab
  • 1
  • 23 617
5 вопросов по JavaScript, на которых каждый может ошибиться
В этом видео мы разберём пять каверзных вопросов по JS, которые могут застать вас врасплох на собеседовании.
Вопросы касаются объявления переменной через var, областей видимости, всплытия, стрелочных функций и других тонкостей.
Видео прежде всего полезно потенциальным джуниорам, однако может пригодиться и "взрослым" специалистам.
มุมมอง: 23 646

วีดีโอ

ความคิดเห็น

  • @user-hn1ph6ry8l
    @user-hn1ph6ry8l 12 วันที่ผ่านมา

    Эм. 6:00 "не имеет никакого свойства goodbye" - нет, window не имеет никакого свойства object. В консоли же верно вывелось.

  • @slyjpg
    @slyjpg หลายเดือนก่อน

    Большое спасибо за уроки!

  • @XAH30
    @XAH30 3 หลายเดือนก่อน

    Ага, а при приеме на работу в какую-то "Пятерочку" нужно чтобы кассиров проверяли на умение пользоваться счетными палочками, у юристов спрашивать про свод законов двенадцати таблиц, ну а программистов нужно наверное спрашивать про программирование на перфокартах:) 5 вопросов просто на "порассуждать" и к практическим знаниям отношения не имеют. Я бы наверное напрягся, если бы мне кандидат на все 5 подобных вопросов правильно ответил:)

  • @romankorolev8847
    @romankorolev8847 3 หลายเดือนก่อน

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

  • @seriogaromanchykov9451
    @seriogaromanchykov9451 3 หลายเดือนก่อน

    не слушай душнил продолжай

  • @Alejandro-yv5nb
    @Alejandro-yv5nb 4 หลายเดือนก่อน

    Крутая подача! Где еще видео?)

  • @gyros9162
    @gyros9162 4 หลายเดือนก่อน

    Вот еще каверзный вопрос ) let a = {}; function cleara(a) { console.log(a); a.b = 2; console.log(a); a = null; console.log(a); } cleara(a); console.log(a)

    • @UchVuch
      @UchVuch 3 หลายเดือนก่อน

      выведет 1 раз null. Правильно?

  • @ganyuowl
    @ganyuowl 5 หลายเดือนก่อน

    А где новые ролики?(

  • @user-eu8kf1xb9h
    @user-eu8kf1xb9h 5 หลายเดือนก่อน

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

    • @millimeter8406
      @millimeter8406 4 หลายเดือนก่อน

      потому что на этом канале всего один видос

  • @it-coding
    @it-coding 5 หลายเดือนก่อน

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

  • @user-xn2cr5oe4p
    @user-xn2cr5oe4p 6 หลายเดือนก่อน

    То есть все учителя вокруг убеждают тебя что var это пережиток прошлого и что его уже не используют, при этом находятся люди которые с пеной у рта доказывают что var нужно знать и придётся с ним работать🤷‍♂️

    • @juniorslab1029
      @juniorslab1029 6 หลายเดือนก่อน

      А кто говорит, что с ним придётся работать? 😃 Я больше скажу - в работе и не придётся отвечать на вопрос "что такое всплытие, контекст", "перечислите виды функций" или, скажем, "Джаваскрипт - синхронный или асинхронный язык". Это в работе. А вот на собесееедовании.... )

    • @investigate9584
      @investigate9584 หลายเดือนก่อน

      Если надо будет с легаси работать, то там могут встретиться var

  • @vadimmarchenko3128
    @vadimmarchenko3128 10 หลายเดือนก่อน

    третий пример с ошибкой

  • @__-np6sr
    @__-np6sr ปีที่แล้ว

    круть😲

  • @user-ju3sl1yx9e
    @user-ju3sl1yx9e ปีที่แล้ว

    for(let i =0; i<=5; i++){ setTimeout(function(){ console.log(i); }, i*600) }' сами введите в консоль 0 1 2 3 4 5

  • @tekartgroup1677
    @tekartgroup1677 ปีที่แล้ว

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

    • @bikadV
      @bikadV 3 หลายเดือนก่อน

      Звук обработан. То есть, любой голос можно (и в общем, нужно) обработать до состояния, когда он будет "профессиональным".

  • @SurenEnfiajyan
    @SurenEnfiajyan ปีที่แล้ว

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

    • @DzhavidR
      @DzhavidR 7 หลายเดือนก่อน

      блестяяяще

    • @juniorslab1029
      @juniorslab1029 6 หลายเดือนก่อน

      да, там уже заметили ошибку в монтаже - обратите внимание, там кадр неудачно склеился и в конце становится правильным(

    • @mikhailprorekhin7434
      @mikhailprorekhin7434 4 หลายเดือนก่อน

      потому что let создается и присваивается в каждом цикле.

    • @millimeter8406
      @millimeter8406 4 หลายเดือนก่อน

      @@juniorslab1029 это не кадр "неудачно склеился", а ты невнимателен на монтаже. Не надо собственные косяки перекладывать на абстрактную "неудачу"

    • @juniorslab1029
      @juniorslab1029 4 หลายเดือนก่อน

      @@millimeter8406чот аж форточку захотелось открыть)))

  • @sergsergey4251
    @sergsergey4251 ปีที่แล้ว

    3й вопрос записан ошибочно

  • @dll220
    @dll220 ปีที่แล้ว

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

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      Очень радует, что кто-то из рекрутёров это понимает! Да, всё так и есть. Эти задачки - сухая теория, которую знать, может и надо, но порой можно и обойтись - главное понимать общие принципы. Также, верно и обратное - не факт, что человек, знающий как решить такое, способен разворачивать и поддерживать более серьёзные проекты. В общем, это похоже на то, как если бы журналиста при приёме на работу тестировали разгадыванием кроссвордов. А что - вроде и проверка языка, и вроде бы проверка эрудированности, но в работе это далеко не на первом месте..)

  • @losbojos
    @losbojos ปีที่แล้ว

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

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      ДА, большое спасибо за поправку.

  • @rssreader90
    @rssreader90 ปีที่แล้ว

    С var не понял,

  • @liftoman_777
    @liftoman_777 ปีที่แล้ว

    классный канал

  • @ForesteamIV
    @ForesteamIV ปีที่แล้ว

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

  • @nekogato8990
    @nekogato8990 ปีที่แล้ว

    ОТличное видео!

  • @ig89
    @ig89 ปีที่แล้ว

    Надеюсь будет ещё контент

  • @bashkort_erete
    @bashkort_erete ปีที่แล้ว

    обычно такие вопросы задают на собесах те, кто хочет свое чсв поднять это вообще никак к работе не относится и только впустую время тратится, тупые задачки от которых толку в работе 0

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      А на теоретических собесах для Джуниоров бывают не тупые задачки? :)

  • @vargvarg7922
    @vargvarg7922 ปีที่แล้ว

    тогда уж совет по первому кейсу не ";" ставить, а преттир а увидев var на собесе, уже критерий что мне там работать не следует

  • @xDiezz
    @xDiezz ปีที่แล้ว

    Гуф рассказывает про джаваскрипт

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      Как-нибудь в одном из видео попытаюсь рассказать под бит, но не гарантирую что смогу сделать это картаво)))

  • @IPortnovv
    @IPortnovv ปีที่แล้ว

    Давай дальше видосы. Оч круто

  • @user-ir8nd6mj2b
    @user-ir8nd6mj2b ปีที่แล้ว

    var str = "hello"; console.log(str[0]); str[0] = 'A'; console.log(str[0]); *Варианты ответа:* 1) ошибка TypeError 2) undefined, A 3) h, h 4) undefined, undefined 5) h, A

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      3) h, h конечно же :) Строка - это строка, и хотя к ней можно обращаться как к массиву символов, присвоить им другое значение нельзя (иначе это и был бы массив, а не единая строка).

  • @nugget_sti
    @nugget_sti ปีที่แล้ว

    было полезно. лайк и подписка👍

  • @Activan1
    @Activan1 ปีที่แล้ว

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

  • @user-py7nm1mu2b
    @user-py7nm1mu2b ปีที่แล้ว

    Видео конечно интересное) но эти задачки с VAR) как по мне это уже далекое прошлое, последний раз писал его в 2015 году никто при нормальной разработке фронт-енд приложения (где есть норм ревью кода) не позволит вам написать VAR

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      Вы, видимо, уже опытный разработчик, поэтому и не проходили давно собеседования для Джуниоров. Поверьте - вопросы про var никуда не делись! :D В старом легаси, теоретически, встречается. Но главное: это вопросы не практические, а просто проверить знания теории.

  • @user-gh6tc1bf9h
    @user-gh6tc1bf9h ปีที่แล้ว

    У тебя голос диктора) можно озвучкой заниматься и пошло в попу это программирование)

  • @D0F4M1N3
    @D0F4M1N3 ปีที่แล้ว

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

  • @user-vu6hn4ul2i
    @user-vu6hn4ul2i ปีที่แล้ว

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

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      Ответ правильный, но на собеседовании не сработает :D

    • @i.am.rossalex
      @i.am.rossalex ปีที่แล้ว

      Если var придуман, значит пользовать его нужно! Для объявления глобальных переменных можно

    • @dmsagaidak
      @dmsagaidak ปีที่แล้ว

      Допустим, вам по работе предстоит рефакторить старый код, где как раз всё на var. Надо, как минимум, понимать, как это работает

    • @mrlumus_
      @mrlumus_ ปีที่แล้ว

      @@i.am.rossalex Ему на замену пришли let и const, чтобы справиться с проблемой того самого "глобального" скоупа. Использовать var - плохая практика, ведущая к массе конфликтов, особенно в руках начинающего разработчика. Если не хочешь, чтобы твой пет-проект запороли на ревью при ТУ - не используй var, а если уж и решил, то попробуй-ка докажи, что именно var решило твои проблемы, а let и const не позволяют тебе с ними справиться

    • @user-os5jq3wm9w
      @user-os5jq3wm9w 3 หลายเดือนก่อน

      @@i.am.rossalex var работает быстрее, чем let и const, так как не имеет TDZ.

  • @maxmuc1609
    @maxmuc1609 ปีที่แล้ว

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

  • @energizet4845
    @energizet4845 ปีที่แล้ว

    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 - это единственный случай когда переменная замыкается по значению

  • @povezlo46
    @povezlo46 ปีที่แล้ว

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

    • @thismusic2581
      @thismusic2581 5 หลายเดือนก่อน

      100%

    • @michaelgevlich2770
      @michaelgevlich2770 5 หลายเดือนก่อน

      200%

    • @m.makhovsky
      @m.makhovsky หลายเดือนก่อน

      тоже самое хотел написать, но благо решил почитать комментарии на случай повторения ;) лайк

  • @eduards5702
    @eduards5702 ปีที่แล้ว

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

  • @WinchesterD
    @WinchesterD ปีที่แล้ว

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

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      О, и как? прошёл интервью? :)

    • @WinchesterD
      @WinchesterD ปีที่แล้ว

      @@juniorslab1029 Жду результата. Думаю что будет отрицательный, потому что половину вопросов не ответил, к примеру тот же вопрос "на что ссылается this стрелочной функции". Плюс это было интервью на стажировку по Ангуляру, на которую в первую очередь расматривают знающих Angular, потом уже людей знающих React или Vue, я со второй группы.

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      @@WinchesterD понял. Да, с потолка так и не ответить на вопрос про this 🙄 Тоже не хочу с Ангуляром иметь дело))

    • @WinchesterD
      @WinchesterD ปีที่แล้ว

      @@juniorslab1029 А почему? Мне конечно куда больше React нравится, но просто интересно.

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      @@WinchesterD Никакой личной неприязни к Ангуляру, чисто вопросы коммерческой перспективы - если открыть любой сайт с вакансиями по фронтенду JS, там будет наверное, этак 70% - Реакт, остальные 30 уже делят между собой Angular, Vue и т.д. С другой стороны, чем меньше знающих Ангуляр, тем лучше для тех кто его изучил :) Но я для себя выбрал такой, более попсовый стэк. :D

  • @evilinarm
    @evilinarm ปีที่แล้ว

    Зачем использован var в 2023 году?

    • @user-ds7ct2vy1d
      @user-ds7ct2vy1d ปีที่แล้ว

      Вар используется в таких случаях: 95% -мозгоебство на собеседовании. Оставшиеся 5% - поддержка старого легаси. Все, применение окончено

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      @@user-ds7ct2vy1d Абсолютно так! Именно загадки для техсобеседований :)

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      Это же не живой код, а просто пример того, что дают в заданиях на технических собеседованиях. Нет смысла спрашивать у рекрутёров, зачем вам VAR :) Все понимают, что var, по умолчанию, не используется сейчас, но тем не менее задачи с ним позволяют понять, насколько джуниор понимает как устроены области видимостей.

    • @focus12024
      @focus12024 ปีที่แล้ว

      @@juniorslab1029 Пишу на Js 3+ года. Но тем неменее было интерестно освежить память. 🫡

  • @zoyascharfschwerdt9810
    @zoyascharfschwerdt9810 ปีที่แล้ว

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

  • @alexj2904
    @alexj2904 ปีที่แล้ว

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

    • @juniorslab1029
      @juniorslab1029 ปีที่แล้ว

      Спасибо на добром слове! Да, материалы готовятся, я обновил канал. Скоро ффсё будет!

    • @UchVuch
      @UchVuch 3 หลายเดือนก่อน

      видимо планы или изменились или очень заняты?@@juniorslab1029