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

Поділитися
Вставка
  • Опубліковано 1 січ 2025

КОМЕНТАРІ • 249

  • @pomazkovjs
    @pomazkovjs  6 днів тому

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

  • @Татьяна-з9д2ф
    @Татьяна-з9д2ф 8 днів тому

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

  • @МаксимМаксим-р2ф
    @МаксимМаксим-р2ф Рік тому +52

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

    • @pomazkovjs
      @pomazkovjs  Рік тому +1

      Спасибо!)) 🔥

    • @bjol_Dg
      @bjol_Dg Рік тому +2

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

    • @МаксимМаксим-р2ф
      @МаксимМаксим-р2ф Рік тому

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

    • @johnnyzhuravlev7334
      @johnnyzhuravlev7334 5 місяців тому +3

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

    • @MsRestartround
      @MsRestartround Місяць тому

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

  • @johnnyzhuravlev7334
    @johnnyzhuravlev7334 10 місяців тому +30

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

  • @valerjanochka
    @valerjanochka 9 місяців тому +5

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

    • @pomazkovjs
      @pomazkovjs  9 місяців тому +3

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

  • @mnimaya4252
    @mnimaya4252 Місяць тому +1

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

  • @tawiasmajero1519
    @tawiasmajero1519 Місяць тому

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

  • @OkcaHaMi
    @OkcaHaMi Місяць тому

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

  • @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)

  • @НундукДудков
    @НундукДудков 3 місяці тому

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

  • @Inos25
    @Inos25 4 місяці тому

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

  • @ДаниилЛарионов-п4е

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

  • @lazys7151
    @lazys7151 Рік тому +1

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

    • @user-nf5yc7xz9b
      @user-nf5yc7xz9b Рік тому

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

    • @lazys7151
      @lazys7151 Рік тому +2

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

  • @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.

  • @prgJkeee
    @prgJkeee Рік тому

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

    • @pomazkovjs
      @pomazkovjs  Рік тому +1

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

    • @prgJkeee
      @prgJkeee Рік тому

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

  • @g999ar
    @g999ar Рік тому

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

  • @defDimych
    @defDimych 11 місяців тому

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

  • @ХАМЗАТЗУБАЙРАЕВ-щ7й
    @ХАМЗАТЗУБАЙРАЕВ-щ7й 2 місяці тому

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

  • @Капилляр
    @Капилляр 4 місяці тому

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

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

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

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

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

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

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

    • @pomazkovjs
      @pomazkovjs  4 місяці тому +1

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

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

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

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

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

  • @alex_dudukalo
    @alex_dudukalo Рік тому +2

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

    • @pomazkovjs
      @pomazkovjs  Рік тому +2

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

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

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

  • @valeriyk7565
    @valeriyk7565 3 місяці тому

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

  • @-fleki-9543
    @-fleki-9543 Місяць тому

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

  • @MaxLebedenko-jy2cb
    @MaxLebedenko-jy2cb 9 місяців тому

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

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

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

  • @katenka_katrusya
    @katenka_katrusya Рік тому

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

  • @АндрейЛ-д8т
    @АндрейЛ-д8т 10 місяців тому

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

  • @BogdanGordeychuk
    @BogdanGordeychuk 5 місяців тому

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

  • @AndsViolin
    @AndsViolin Рік тому +3

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

    • @pomazkovjs
      @pomazkovjs  Рік тому +1

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

  • @TrashTOXICwho
    @TrashTOXICwho 11 місяців тому +1

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

  • @andrewcanady3054
    @andrewcanady3054 10 місяців тому

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

  • @maxfens
    @maxfens Рік тому

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

  • @semka-tesemka
    @semka-tesemka 2 місяці тому

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

  • @coreyes139
    @coreyes139 10 місяців тому +1

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

  • @zakhartereshchenko7373
    @zakhartereshchenko7373 Рік тому

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

  • @Liunamme
    @Liunamme Рік тому +3

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

    • @pomazkovjs
      @pomazkovjs  Рік тому +2

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

  • @alexdreamer11
    @alexdreamer11 Рік тому

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

  • @whoamizy
    @whoamizy Рік тому +2

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

  • @winstontyson603
    @winstontyson603 6 місяців тому

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

  • @xtray272
    @xtray272 Рік тому +2

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

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

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

  • @maksymshypytsia5217
    @maksymshypytsia5217 10 місяців тому

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

  • @vladpetrov4512
    @vladpetrov4512 3 місяці тому

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

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

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

  • @shmelactimel6099
    @shmelactimel6099 Рік тому

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

  • @YaniaRZ
    @YaniaRZ 9 місяців тому

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

  • @СашаКим-б2б
    @СашаКим-б2б Рік тому

    спасибо

  • @alexcorsa6330
    @alexcorsa6330 Рік тому

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

  • @СергейСомов-м8ы

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

  • @alfeov8251
    @alfeov8251 11 місяців тому

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

  • @CJAlos
    @CJAlos Місяць тому

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

  • @fan.kotenokkote5198
    @fan.kotenokkote5198 Рік тому

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

  • @LAMit
    @LAMit 7 місяців тому

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

  • @TraderOff-Road
    @TraderOff-Road 3 місяці тому

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

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

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

  • @AntonBear
    @AntonBear 6 місяців тому

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

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

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

  • @rostyslavkinash5232
    @rostyslavkinash5232 Рік тому

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

  • @artyommanko1575
    @artyommanko1575 Рік тому

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

  • @ElviraGiliazova
    @ElviraGiliazova 7 місяців тому

    Отдельное видео по call, apply, bind пожалуйста.

  • @Fanta.Bamboocha
    @Fanta.Bamboocha 9 місяців тому

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

  • @АлексейБомко-ь1ш
    @АлексейБомко-ь1ш 7 місяців тому

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

  • @galaktik9714
    @galaktik9714 Рік тому

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

  • @srjp4777
    @srjp4777 Рік тому

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

  • @БорисМедведев-ф4р
    @БорисМедведев-ф4р 11 місяців тому

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

  • @spiritanri
    @spiritanri Рік тому

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

  • @ynesennye_vetrom
    @ynesennye_vetrom 9 місяців тому +1

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

  • @yulikk3514
    @yulikk3514 9 місяців тому

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

  • @mew6085
    @mew6085 Рік тому

    Полезно. Подписался

  • @to4ka_gr
    @to4ka_gr 8 місяців тому

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

  • @BaraBaranym
    @BaraBaranym Рік тому +1

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

  • @alenache1
    @alenache1 5 місяців тому

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

  • @the_barnab9485
    @the_barnab9485 7 місяців тому

    Видео показалось мне полезным. Поэтому я, как наставлял Автор, прожал Like и пишу об этом в комментариях..

  • @vitmih380
    @vitmih380 Рік тому

    Конечно же лайк

  • @ГеннадийГорохов-ц8н
    @ГеннадийГорохов-ц8н 10 місяців тому

    Крутое видео!!!

  • @Danze_lite
    @Danze_lite 8 місяців тому

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

  • @anastasiahramcova7200
    @anastasiahramcova7200 Рік тому +1

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

  • @valerakozhura2544
    @valerakozhura2544 Рік тому +1

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

  • @johnnyzhuravlev7334
    @johnnyzhuravlev7334 5 місяців тому

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

  • @kottofey1
    @kottofey1 5 місяців тому

    Приятный голос, не раздражающий ) Спасибо за информацию!

  • @kotrvnwork6665
    @kotrvnwork6665 Рік тому

    Видео супер! Понятно все! По полочкам!

  • @Liunamme
    @Liunamme Рік тому +1

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

  • @maxet2374
    @maxet2374 Рік тому +1

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

    • @pomazkovjs
      @pomazkovjs  Рік тому +1

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

  • @anastasiasandu555
    @anastasiasandu555 9 місяців тому

    спасибо за контент =)

  • @2insidefree
    @2insidefree 11 місяців тому

    Отличный контент

  • @wayfaringstranger2798
    @wayfaringstranger2798 7 місяців тому

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

  • @alianmanpi35
    @alianmanpi35 8 місяців тому

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

  • @kobecvladimir7716
    @kobecvladimir7716 3 місяці тому

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

  • @MaximImmersion
    @MaximImmersion Рік тому

    Ждем видео про call и apply

  • @sezergm7066
    @sezergm7066 8 місяців тому

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

  • @lex9497
    @lex9497 Рік тому

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

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

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

  • @ondreeey3004
    @ondreeey3004 Рік тому

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

  • @Aleksa013
    @Aleksa013 9 місяців тому

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

  • @ЕкатеринаВолынщикова

    Ура, я ждала это видео! Спасибо!