Полный разбор THIS в JavaScript за 26 минут | this в стрелочных функциях, call bind apply, Window

Поделиться
HTML-код
  • Опубликовано: 5 янв 2025

Комментарии • 249

  • @pomazkovjs
    @pomazkovjs  9 дней назад

    Больше пользы и лайв-контент в ТГ:
    - "У меня нет идей для пэт-проектов"- t.me/pomazkovjs/252
    - Бесплатный курс по NextJS от его создателей - t.me/pomazkovjs/223
    - Авторизация VS аутентификация (на пальцах) - t.me/pomazkovjs/221
    В ТГ я пишу гораздо чаще, да и все апдейты всегда оказываются там в первую очередь.
    → t.me/pomazkovjs
    А еще у нас есть полезный чат, где царят уважение и взаимопомощь: t.me/+Hx6RaBT4Trw3ZjM6

  • @Татьяна-з9д2ф
    @Татьяна-з9д2ф 12 дней назад

    Спасибо большое за такие классные уроки! Подробно, доступно, наглядно, структурировано, очень приятно слушать грамотную речь. Жду всегда новые материалы на канале, регулярно возвращаюсь к ранее просмотренным. Видео с замыканием 🔥

  • @johnnyzhuravlev7334
    @johnnyzhuravlev7334 10 месяцев назад +30

    Отдельное видео по call, apply, bind будет очень полезным. Спасибо за работу и старания)

  • @МаксимМаксим-р2ф
    @МаксимМаксим-р2ф Год назад +52

    Легенда вернулась!
    Твой урок по замыканиям лучший в ютубе)

    • @pomazkovjs
      @pomazkovjs  Год назад +1

      Спасибо!)) 🔥

    • @bjol_Dg
      @bjol_Dg Год назад +2

      Лесть, такое себе. Но да - автор молодец. Плюс ещё один блогер, который толково объясняет. Просто и по полочкам.

    • @МаксимМаксим-р2ф
      @МаксимМаксим-р2ф Год назад

      @@bjol_Dg лесть не лесть, но мне реально его уроки помогают
      А смотрел я много разных авторов
      Если человек старается, то пусть видит обратную связь

    • @johnnyzhuravlev7334
      @johnnyzhuravlev7334 5 месяцев назад +3

      @@bjol_Dg ахаха, какая лесть? Человек свое субъективное мнение написал))

    • @MsRestartround
      @MsRestartround Месяц назад

      @@johnnyzhuravlev7334 ахахаха, не надо никуда лезть))

  • @mnimaya4252
    @mnimaya4252 Месяц назад +1

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

  • @valerjanochka
    @valerjanochka 9 месяцев назад +5

    Огроменное тебе спасибище за твой неимоверный труд и время, которое ты тратишь, чтобы снимать такие интересные и суперкачественные ролики. Безумно нравится твоя подача материала: без воды, всё чётко по полочкам и с примерами. Желаю тебе продолжать в том же духе и вдохновлять ребят, начинающих этот нелёгкий путь, идти к своей мечте и не сдаваться).
    Ещё было бы интересно посмотреть видео на такие темы, как Promise, цепочки промисов, асинхронное программирование, HTTP/HTTPS, RESTful API, Prototypes, Event Loop.

    • @pomazkovjs
      @pomazkovjs  9 месяцев назад +3

      Большое спасибо за такой приятный комментарий! Буду стараться 🔥

  • @OkcaHaMi
    @OkcaHaMi Месяц назад

    Очень доступно и все в одном месте! не надо шарить всю документацию в поисках, а где еще что могло спрятаться по этой теме!)

  • @Inos25
    @Inos25 4 месяца назад

    Спасибо за труды, нравятся Ваши объяснения! Я смотрела объяснение this в стрелочных функциях у разных преподавателей, читала, но как доходило до практики - постоянно ошибалась. Вывод: не понимала объяснений. Сегодня благодаря Вам даже до меня дошло :D Спасибо еще раз!

  • @alexbrutski1210
    @alexbrutski1210 3 месяца назад

    Красава! Решал задачу на КодВорс, не решил. Спустя 2 недели смотрю это видео и понимаю, что apply это то,что было нужно! Благодарю.

  • @sadasd3826
    @sadasd3826 11 месяцев назад +2

    Хотелось бы уточнить за пример вложенной функции на 5:38 ,myFunction не берет контекст из myFunction1,так как это противоречит тому,что контекст определяется в зависимости от вызова функции.
    Если вызывается просто функция без каких-либо доп методов ,new или dot нотации то по умолчанию this будет глобальным обьектом в нестрогом режиме.Вот например,что об пишется :
    Вложенные функции не наследуют значение this от внешних функций. Значение this в вложенной функции определяется контекстом, в котором она вызывается. Если вложенная функция вызывается как метод, то ее значение this будет объектом, на котором она вызывается. Если вложенная функция (т.е. не стрелочная функция) вызывается как функция, то ее значением this будет или глобальный объект (в нестрогом режиме), или undefined (в строгом режиме).
    Пример 1 :
    let o = { // Объект о
    m: function() { //метод m обьекта
    let self = this; // Сохранить значение this в переменной
    this === о // => true: this является объектом о
    f() ; //Теперь вызвать вспомогательную функцию f ()
    function f () { //Вложенная функция f
    this === о // =>false: this является глобальным объектом или undefined
    self === о // true: self является внешним значением this
    }
    }
    };
    o.m(); //Вызвать метод m на объекте о
    А если бы myFunction брала бы контекст из myFunction1,то у нас вышло бы что f брала бы контекст из анонимной функции присвоенной идентификатору m,и тогда бы эта функция ссылалась бы на сам обьект o ,а не на глобальный обьект

    • @foxnadir
      @foxnadir 9 месяцев назад

      Чуть-чуть неправильно, но в целом неплохо. Читай мой коммент снизу

    • @sadasd3826
      @sadasd3826 9 месяцев назад

      @@foxnadir ,Во -первых,то ,что ты написал ни как не противоречит моему.Во-вторых,я все правильно написал,в том числе к глобальному обьекту относится и windows в среде браузера.Но нельзя говорить за это постоянно,так как в той же Node уже не будет никакого windows)

  • @tawiasmajero1519
    @tawiasmajero1519 Месяц назад

    Очень крутые видосы! С хорошим и доступным объяснением, ждем видео по call, apply, bind! Спасибо)

  • @НундукДудков
    @НундукДудков 3 месяца назад

    Огромное тебе спасибо !
    Реально простыми словами, с использованием примеров - идеально !

  • @ДаниилЛарионов-п4е
    @ДаниилЛарионов-п4е 8 дней назад

    Отличное видео! Всё очень понятно! Благодарю!

  • @helpittech1815
    @helpittech1815 Месяц назад

    Спасибо! Все просто, понятно и полезно.

  • @foxnadir
    @foxnadir 9 месяцев назад +1

    18:56 Не из-за того что .forEach вторым аргументом передает undefined в коллбек - внутри него this определяется как undefined. А все из-за того, что любая функция определенная в JavaScript по умолчанию является методом объекта (ВНИМАНИЕ!) window. И this тут ссылается именно к глобальному объекту window и ищет там свойство lastName. Вот оно там не определено и возвращает undefined. Это легко проверить написав в глобальной области this.lastName = "Виндоуское Иванов";

    • @foxnadir
      @foxnadir 9 месяцев назад

      22:10 а внутри setTimeout *this* не определятся все потому что setTimeout изначально является методом windows объекта (как и было сказано вначале). Он тоже ссылается в глобальный объект своим this'ом.

    • @AnatolyOlkhovsky
      @AnatolyOlkhovsky 9 месяцев назад +1

      "Это легко проверить написав в глобальной области this.lastName = "Виндоуское Иванов";" - или в самой функции выводить просто this. Можно еще добавить вторым параметром undefined и увидеть что ничего не поменяется, a если добавить другой объект, то поменяется только для logFullNames1.

  • @lazys7151
    @lazys7151 Год назад +1

    Спасибо, что помогаешь разобраться в языке. На эту тему не так много детальных роликов, все люди лишь пробегаются по верхам, как будто темы легкие и не важные. Буду ждать следующих роликов

    • @user-nf5yc7xz9b
      @user-nf5yc7xz9b Год назад

      Так и автор пробегается по верхам , найдите канал as for js ,вот там по настоящему глубоко разбирают js

    • @lazys7151
      @lazys7151 Год назад +2

      @@user-nf5yc7xz9b Я уже там подписчик. Проблема того канала заключается в том, что автор уничтожает современный подход к изучению JS. Может быть это и полезно, но что это даёт? Каждый раз на собеседованиях спорить и пытаться объяснять принципиально новую позицию? Это слишком муторно и сложно всё донести идеально правильно. Тем более на этом канале человек дошел до синьорской должности со знаниями абстракций по типу замыканий, контекста и прочей лабуды. Эффективнее всего, как мне кажется, понять эти абстракции и ими апеллировать на собеседованиях. По крайней мере собеседования не будут такими стрессовыми и сложными.

  • @Капилляр
    @Капилляр 4 месяца назад

    Спасибо! Убил день + пока не посмотрел твое видео))) Теперь хоть что-то стало понятно!!! This - жив 😄

  • @defDimych
    @defDimych 11 месяцев назад

    Автор, выражаю своё спасибо лайком, и подпиской. Ты мне очень помог разобраться с this!

  • @АнатолийШуменков-р2х
    @АнатолийШуменков-р2х 10 месяцев назад +4

    Твои видео всегда дают простое понимание сложных вещей. Спасибо.
    Пили подробный видос про call, apply

  • @ВиталийПустовой-с5х
    @ВиталийПустовой-с5х 2 месяца назад

    Это качественный и полезный контент

  • @katenka_katrusya
    @katenka_katrusya Год назад

    Спасибо за видео. Для меня это сейчас уже не так страшно, но всё ещё страшно)). Хотелось бы посмотреть подробнее и про call, bind, apply.
    Я первый раз использовала конструктор для создания студентов (домашняя работа, да))), плюс там методы разные, куда я добавляла функции расчёта возраста, на каком курсе студент, полное имя, очень удобно получилось. Код стал чище в разы, легче и понятнее писался код

  • @prgJkeee
    @prgJkeee Год назад

    Лайк авансом =), ну и конечно же коммент в поддержку канала! Арсений не забывай про видосы!!! Контент супер!!!

    • @pomazkovjs
      @pomazkovjs  Год назад +1

      Спасибо за поддержку, стараюсь! 💪🏼

    • @prgJkeee
      @prgJkeee Год назад

      @@pomazkovjs Кстати, интересно, а будет ли про Vue что-то? А то на RUclips про него очень мало всего (понятно, что из-за React'а, который более используем)

  • @maxfens
    @maxfens Год назад

    Спасибо за контент! Будет в ближайшем будущем видос про прототипы?

  • @ИванМихалев-о9з
    @ИванМихалев-о9з 6 месяцев назад

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?

  • @АлександрСмирнов-щ4с
    @АлександрСмирнов-щ4с 4 месяца назад

    Спасибо большое за ваш труд. Лучший канал по JS. Жаль, что забросили.

    • @pomazkovjs
      @pomazkovjs  4 месяца назад +1

      Я ничего не забрасывал, просто редко выкладываю видео :)
      В тг, например, можно видеть посты чаще: t.me/pomazkovjs

    • @АлександрСмирнов-щ4с
      @АлександрСмирнов-щ4с 4 месяца назад

      @@pomazkovjs круто, буду следить тогда. Если можно подумайте над темами Event Loop или базовые фундаментальные знания для программистов.

  • @alex_dudukalo
    @alex_dudukalo Год назад +2

    Отличный ролик, представляю сколько времени на него ушло :)

    • @pomazkovjs
      @pomazkovjs  Год назад +2

      Спасибо!) Времени ушло действительно много, но я уверен, что все не зря, и этот разбор многим поможет 🙌

  • @whoamizy
    @whoamizy Год назад +2

    Спасибо за видео!

  • @TrashTOXICwho
    @TrashTOXICwho 11 месяцев назад +1

    Привет, крутые видео. Очень жду видео про асинхронности.

  • @ХАМЗАТЗУБАЙРАЕВ-щ7й
    @ХАМЗАТЗУБАЙРАЕВ-щ7й 3 месяца назад

    Понятно и доходчиво. Четко !

  • @АлександрИраджапов
    @АлександрИраджапов 5 месяцев назад

    Можно сразу тысячу лайков поставить, супер годный контент!

  • @g999ar
    @g999ar Год назад

    Особенно круто, что ты разбираешь не попсовые темы

  • @-fleki-9543
    @-fleki-9543 Месяц назад

    Очень помог. Спасибо!

  • @valeriyk7565
    @valeriyk7565 3 месяца назад

    Спасибо за годный контент, всё четко и по делу

  • @MaxLebedenko-jy2cb
    @MaxLebedenko-jy2cb 9 месяцев назад

    очень качественный материал,спасибо!

  • @AndsViolin
    @AndsViolin Год назад +3

    Спасибо за твой канал. Благодаря тебе я снова начал программировать спустя 3 года

    • @pomazkovjs
      @pomazkovjs  Год назад +1

      Воу, огонь! Рад, что помог найти мотивацию и вдохновение)

  • @andrewcanady3054
    @andrewcanady3054 10 месяцев назад

    Привет. Изучаю сейчас js. Я на пути к фронтенд разработчику ахахах) Из многих видосов на ютубе по теории программирования очень мало таких видосов, которые хорошо сконструированы. То есть мало видосов, в которых их авторы обьъясняют всё поэтапно. А у тебя всё хорошо сконстурировано в видео и понятно всё от начала и до конца. Спасибо за твою работу)

  • @АнастасияВоловик-н3ц

    Привет! Спасибо за крутые объяснения! Очень хотелось бы разобрать в таком духе промисы, async/await

  • @alfeov8251
    @alfeov8251 11 месяцев назад

    Хотелось бы услышать про асинхронность в JS в твоем исполнении, очено хорошо объясняешь 🔥🤝

  • @АлександрИраджапов
    @АлександрИраджапов 5 месяцев назад

    Мне нравится твои уроки!

  • @valerakozhura2544
    @valerakozhura2544 Год назад +1

    При разборе this в стрелочной функции 19:15 что-то не сходится. Я вызвал просто "this" в форыче обычной функции в примере, и он определен - [obj Window], а не undefined. В примере возникает undefined из-за того, что у глоб объекта нету поля lastName( window.lastName = undefined)

  • @vladpetrov4512
    @vladpetrov4512 3 месяца назад

    Супер! Сделай, пожалуйста, про промисы

  • @alenache1
    @alenache1 5 месяцев назад

    5:35 - myFunction не брала this у myFunction1, это работает только у стрелок, в данном случае компилятор инициировал this как Window потому что так заложено правилами языка

  • @АндрейЛ-д8т
    @АндрейЛ-д8т 10 месяцев назад

    спасибо за доступный урок

  • @BogdanGordeychuk
    @BogdanGordeychuk 5 месяцев назад

    большое спасибо! очень полезная информация

  • @shmelactimel6099
    @shmelactimel6099 Год назад

    Привет!
    Спасибо за то что делишься своими знаниями и классную подачу в видео, четко и понятно!)
    Думаю классно будет , если будет roadmap на ютубе, по твоему frontend roadmap там где ты выписал что нужно знать начинающему разработчику)

  • @CJAlos
    @CJAlos Месяц назад

    Это видео кажется мне полезным) Разобрался, почему же this может выводить мне пустоту или же глобальный объект

  • @Liunamme
    @Liunamme Год назад +3

    Только сегодня разбирался с this, а тут как раз это видео)) Я подписчик с замыкания))

    • @pomazkovjs
      @pomazkovjs  Год назад +2

      Идеальный тайминг 🔥

  • @ynesennye_vetrom
    @ynesennye_vetrom 9 месяцев назад +1

    Спасибо большое, это лучшее видео про this💐

  • @xtray272
    @xtray272 Год назад +2

    Нереальное видео, именно благодаря таким как вы джуны готовятся к собеседованиям, вечный +реп

    • @Султан-р2о
      @Султан-р2о 11 месяцев назад

      и не устраиваются. АХАХАХАХАХА. Рынок переполнен настолько, что устроиться на джуна вообще нереально

  • @semka-tesemka
    @semka-tesemka 2 месяца назад

    Хорошее видео, спасибо

  • @srjp4777
    @srjp4777 Год назад

    суперские объяснения, смотрю уже третий видос и это один из лучших каналов по js

  • @anastasiahramcova7200
    @anastasiahramcova7200 Год назад +1

    Спасибо огромное за твой труд!!! Объяснения очень понятные👏👏👏 Продолжай пожалуйста снимать.

  • @БорисМедведев-ф4р
    @БорисМедведев-ф4р 11 месяцев назад

    Добрый час, спасибо за видео, было бы интересно ролик про Primise и fetch

  • @alexdreamer11
    @alexdreamer11 Год назад

    Спасибо, очень познавательное видео.

  • @winstontyson603
    @winstontyson603 6 месяцев назад

    мне видео показалось полезным, я прожал лайк и написал об этом в комментариях)0)

  • @ДмитрийЗинченко-м6с

    Это прям огонь 🔥 спасибо.

  • @kobecvladimir7716
    @kobecvladimir7716 3 месяца назад

    Видео по call, apply, bind будет полезным !!🤓

  • @maksymshypytsia5217
    @maksymshypytsia5217 10 месяцев назад

    Спасибо очень хороший разбор.

  • @YaniaRZ
    @YaniaRZ 9 месяцев назад

    Спасибо, действительно понятно!

  • @fan.kotenokkote5198
    @fan.kotenokkote5198 Год назад

    Спасибо за видео 😊

  • @zakhartereshchenko7373
    @zakhartereshchenko7373 Год назад

    Спасибо за видео, очень хорошо разьяснил

  • @coreyes139
    @coreyes139 10 месяцев назад +1

    Про промисы хотелось бы разбор и про асинхронность

  • @BaraBaranym
    @BaraBaranym Год назад +1

    Круть, еще бы про Event Loop, prototype, async 😔

  • @alianmanpi35
    @alianmanpi35 8 месяцев назад

    Спасибо большое за Ваши видео, они очень помогают глубже понимать материал.

  • @balinok
    @balinok 5 месяцев назад

    Функция внутри другой функции имеет контекст либо Window либо undefined, в зависимости от режима, а не как Вы сказали (5:30) "взяла контекст из myFunction1.

  • @sezergm7066
    @sezergm7066 8 месяцев назад

    Одно из лучших видео на ютубе про 'this' в js

  • @alexcorsa6330
    @alexcorsa6330 Год назад

    Спасибо! Делай больше видео!!!!

  • @to4ka_gr
    @to4ka_gr 9 месяцев назад

    единственный человек который объяснил все четко и грамотно! спасибо огромное!

  • @artyommanko1575
    @artyommanko1575 Год назад

    Арсений, спасибо огромное за обучающие видео! Всё максимально подробно, интересно и, что самое главное, понятно!

  • @TraderOff-Road
    @TraderOff-Road 3 месяца назад

    Спасибо за видос

  • @LAMit
    @LAMit 7 месяцев назад

    Отличное видео!👍

  • @СергейСомов-м8ы
    @СергейСомов-м8ы Год назад

    видео крутое, разбор четкий!

  • @galaktik9714
    @galaktik9714 Год назад

    ждем подробное объяснение про call,bind и apply также хотелось бы увидеть объяснение про конструкторы и классы.

  • @kamilatuleubayeva4147
    @kamilatuleubayeva4147 Год назад +1

    Обожаю ваше объяснение, но я не смотрела еще первую часть, так что побежала смотреть ее😂😅 спасибо Вам за видеооо😍🔥

    • @pomazkovjs
      @pomazkovjs  Год назад +1

      Спасибо! Приятного просмотра!)

  • @СтаниславГорячев-г1ъ

    Огромное вам спасибо

  • @Danze_lite
    @Danze_lite 8 месяцев назад

    просто красавчик, оч крутые видео, топ контент)
    не останавливайся

  • @AntonBear
    @AntonBear 7 месяцев назад

    Хорошее видео мне помогло

  • @vgshenshin
    @vgshenshin Год назад

    Круто, я всё понял 👍 неплохой пример с setTimeout и event loop, мне понравился🔥

  • @Fanta.Bamboocha
    @Fanta.Bamboocha 9 месяцев назад

    Комментарий для продвижения, так держать

  • @АлексейБомко-ь1ш
    @АлексейБомко-ь1ш 7 месяцев назад

    Годный контент!

  • @johnnyzhuravlev7334
    @johnnyzhuravlev7334 5 месяцев назад

    Арсений, разбери вот эти интересные темы: promise, декораторы, каррирование, веб-воркеры.
    Думаю, что с твоим умением объяснять, будет бомба контент)

  • @many_men
    @many_men Год назад

    как всегда топчик! подробно про каждый случай что не остается вопросов. К примеру видео про лет конст и вар очень сильно мне помогло

  • @yulikk3514
    @yulikk3514 9 месяцев назад

    Спасибо) Супер!

  • @alfeov8251
    @alfeov8251 11 месяцев назад

    22:40 немножко не понимаю как стрелочная функция находясь в Event Loop берет контекст родительской функции... В то время как обычная функция берет глобальный контекст и возвращает окно бреузера как понял.
    И в то же время, при выполнении функции в глобальном контексте (без SetTimeout) в строгом режиме this в этой функции будет возвращать undefined, но в setTimeout и все с тем же строгим режимом this возвращает окно браузера. Как это оно так....😮

  • @Liunamme
    @Liunamme Год назад +1

    Ждем видео про промисы и прототипы

  • @yuriilee6077
    @yuriilee6077 Год назад

    Круто! Объясни плз call и apply. Геттеры и Сеттеры тоже так же хотелось бы увидеть)

  • @lex9497
    @lex9497 Год назад

    У тебя очень крутые видео, и очень понятные, можешь пожалуйста сделать видео про методы массивов, строк и объектов. Буду очень благодарен)

  • @spiritanri
    @spiritanri Год назад

    Круто! Спасибо

  • @IgorBerezhnoy-md3ir
    @IgorBerezhnoy-md3ir 10 месяцев назад

    Спасибо за урок! Ждём ещё больше твоих крутых видео!🔥🔥🔥🔥🔥🔥🔥🔥🔥

  • @SM-xp8tw
    @SM-xp8tw 7 месяцев назад

    Очень круто и доходчиво объяснил, спасибо ))

  • @rostyslavkinash5232
    @rostyslavkinash5232 Год назад

    спасибо за урок

  • @husik101
    @husik101 11 месяцев назад

    Не бросай это дело, у тебя здорово получается

  • @infate89
    @infate89 Год назад

    Ты Гений! Спасибо тебе ОГРОМНОЕ! Огромная работа проделана. Я тебе благодарен, безгранично! Лучший!

  • @matthewbellamy4008
    @matthewbellamy4008 10 месяцев назад

    Спасибо большое, очень полезное и самое лучшее объяснение этой темы что я нашел

  • @ondreeey3004
    @ondreeey3004 Год назад

    Благодаря конспекту по var/let/const с бусти, спустя 1,5 недели перекапывания интернета наконец-то понял в чем суть TDZ и когда она образуется! Немного не в тему, но все же, огромное спасибо! Седи всех ютуб-лекторов, твой контент самый легкоусваиваемый

  • @wayfaringstranger2798
    @wayfaringstranger2798 7 месяцев назад

    видео полезно!

  • @maxet2374
    @maxet2374 Год назад +1

    спасибо за видос по замыканиям - я хоть через год в разработке норм понял. сделай плиз видос с примерами call bind apply

    • @pomazkovjs
      @pomazkovjs  Год назад +1

      Спасибо за коммент! Сделаю 💪🏻

  • @Aleksa013
    @Aleksa013 9 месяцев назад

    Очень здорово объясняешь! Спасибо тебе!!

  • @РусланПолянский-х7б

    Твои видео всегда дают простое понимание сложных вещей. Спасибо.

  • @ElviraGiliazova
    @ElviraGiliazova 8 месяцев назад

    Отличное обяснение. Хотелось бы еще уроков пожалуйста. хорошая подача. приятный голос. не теряйте настроя и вдохновения!