Узнай JavaScript лучше: что такое контекст this, основные ошибки, call apply bind

Поділитися
Вставка
  • Опубліковано 21 жов 2024

КОМЕНТАРІ • 57

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

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

  • @vitaliyyasinskiy3689
    @vitaliyyasinskiy3689 4 роки тому +21

    ЭТО БОЖЕСТВЕННО!!! Я много раз возвращался к потере контекста, когда забывал нюансы, и мог потратить по несколько часов на поиск бага. Но настолько логичного объяснения я даже не ожидал найти.
    И очень приятно оформляешь монтаж видео, ничего лишнего, но логически секционно все разделено, где то ускорено. Сам знаю, сколько грамотный монтаж занимает времени, но у тебя чувствуется подход с головой.
    Царский лайк установлен, спасибо большое

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

      контекст НИКОГДА НЕ ТЕРЯЕТСЯ! он ВЫЧИСЛЯЕТСЯ в момент вызова функции

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

      @@andTutin серьезно?) Спустя два года?)

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

      ​@@vitaliyyasinskiy3689 бывает скучно и рекомендации ютуба ))

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

      @@vitaliyyasinskiy3689 спустя еще два года контекст тоже не потеряется лол

  • @agataageeva424
    @agataageeva424 3 роки тому +5

    Хороший звук, хорошее объяснение. this, call, apply, bind

  • @ЕвгенийГавриленко-е3я

    Поддерживаю комментарии.Четкий поставленный голос и понятное объяснение. С меня лайк, подписка, колокольчик. НЕ бросайте!

  • @user-hi8rw9kk9v
    @user-hi8rw9kk9v 2 роки тому +1

    Автор, очень и ОЧЕНЬ не дурно! Голос, картинка => все на высоте! Благодарю!

  • @РоманВладимиров-ъ6б

    Огромное спасибо автору! Пожалуйста, продолжай этим заниматься, так как объясняешь очень понятно и без лишней воды!

  • @-Forever-Young-
    @-Forever-Young- 2 роки тому +2

    Спасибо за просветительскую деятельность)

  • @maks_moskalik
    @maks_moskalik 4 роки тому +4

    Автор, ты большой молодец!
    Не забрасывай дело!
    Очень четко и по делу.

  • @КаролинаГалиева-ш8ы

    Обожаю Ваши объяснения, мне очень по душе, все коротко, ясно и на примерах

  • @artemkrasnogir4673
    @artemkrasnogir4673 3 роки тому +4

    Очень крутое объяснение, без воды, все по факту, лайк!

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

    Вы всё правильно говорите , но приводите частный случай(ссылается на объект, метод которого мы вызываем). А общий случай примерно такой(я не знаю умных слов поэтому по простому) ссылается на то место, где был создан(на уровень выше). В вашем примере this созданный в методе(функции) ссылается на объект . А this объекта ссылается на window. Если объект содержит 4 вложения 4 ->3, 3->2 2->1, 1-> null

  • @dmitrii_gerasimov
    @dmitrii_gerasimov 2 роки тому +2

    Про то, что помещение в функцию - это то же самое, что и создание новой функции - это ошибка. Условие user.sayHello === f, будет возвращать true, при создании новой функции, вернуло бы false. В случае присвоения переменной функции, функция всё равно остаётся той же самой, а в переменную помещается ссылка.

  • @НикСова-ю7в
    @НикСова-ю7в Рік тому

    Блин, просмотрел 8 видосов про this, ничего не понял. Не знаю, может это кумулятивный эффект, но только здесь дошло. Спасибо! Лайк, подписка.

  • @javas9164
    @javas9164  4 роки тому +6

    Мой новый канал
    ua-cam.com/video/mkqceyBXAdo/v-deo.html
    Видео теперь будут тут 👆
    === Тайм коды ===
    0:00 - Что будет на этом уроке
    0:38 - Что такое контекст + разбор основных ошибок
    5:22 - Подробно о call, apply, bind
    8:40 - Стрелочные функции о контекст
    11:24 - Когда замена контекста нужна
    Другие уроки:
    Узнай JavaScipt лучше: ua-cam.com/video/bO881lHXieQ/v-deo.html
    Vue.js подробный курс: ua-cam.com/video/qXhmJhR0Fhg/v-deo.html

  • @avocodeuser1343
    @avocodeuser1343 2 роки тому +1

    Спасибо очень подробно и доходчиво. Сложная тема сама по себе, но тебе удалось объяснить её.

  • @ТэйранАбединов
    @ТэйранАбединов 2 роки тому +1

    Спасибо, реально понял че такое call и контекст

  • @ИльназГарайшин-ч6о
    @ИльназГарайшин-ч6о 4 роки тому +5

    Крутой видос, жаль мало просмотров) Автор, не бросай

  • @hypermauth
    @hypermauth 2 роки тому

    Красавчик, всё понятно, прям разжевал

  • @Sergey_Klimov
    @Sergey_Klimov 2 роки тому +2

    Когда хочу найти информацию по this везде вижу в примерах трехэтажные объекты, в которых десятиэтажные функции и где-то там, внутри, есть this. Мне, как новичку, стало все ясно сразу же.

  • @munutd9857
    @munutd9857 3 роки тому +1

    👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍Класный урок просто!!! Огромное спасибо

  • @mikhailivlev
    @mikhailivlev 2 роки тому +1

    thx 4 description) one billion likes to THIS video!!!!

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

    Данил Игоревич, а какой будет контекст у методов объекта, вложенного в объект user?

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

    Примерно 4:20 Когда создаётся функция там тоже создаётся this, только он ссылается на объект в котором создан(window в данном случае). Посмотрел ещё раз и на 9:26 ещё один вопрос- а если объект вложен в другом объекте и во вложенном объекте метод. Тогда при вызове этого метода он идёт на уровень выше и по объяснение автора this должен быть родительского объекта. Проверьте так это или нет

  • @РоманНовик-к3ю
    @РоманНовик-к3ю 2 роки тому +1

    Спасибо большое!!!

  • @jsb7239
    @jsb7239 3 роки тому +1

    Хороший урок!👍🏻

  • @crossmaxish
    @crossmaxish 2 роки тому

    Спасибо, очень доступно!

  • @MrMakaron4ik
    @MrMakaron4ik 4 роки тому +2

    Супер, продолжай

  • @СергейЛуняк-д5е
    @СергейЛуняк-д5е 4 роки тому +3

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

    • @javas9164
      @javas9164  4 роки тому +1

      Воу, даже так, спасибо 😅😎

  • @sergeialekseev1878
    @sergeialekseev1878 2 роки тому

    Как батя раскидал, лайкос

  • @yevheniimoskalenko1624
    @yevheniimoskalenko1624 3 роки тому

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

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

    Правильно ли я понимаю что стрелочная функция, грубо говоря смотрит на контекст который находиться выше? Если это еще одна стрелочная функция (b) грубо говоря предыдущая (a) унаследует путь стрелочной функции (b)?

  • @OnlyLuck1000
    @OnlyLuck1000 3 роки тому +1

    Очень интересно. Моё непонимание this рассеялось))
    Только не понятен момент на 10:40 Т.к. "SetTimeout не имеет своего контекста он берет его из метода SayHello()". Тут сам SetTimeout не имеет своего контекста или стрелочная функция вызванная в нем не имеет контекста и перепрыгивает его?

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

      стрелочная не имеет, берет у таймаута, а него это объект window

  • @vladimir_-_
    @vladimir_-_ 4 роки тому +2

    будут ли видео с проектами на vue ? было бы здорова на примерах профессионала посмотреть. или мини курсы

    • @javas9164
      @javas9164  4 роки тому +2

      Да, вскоре планируется курс по Vue в связке с typescript ;)

    • @DereckRocker
      @DereckRocker 4 роки тому

      плюсую ) +++

  • @stanislavidalgo3661
    @stanislavidalgo3661 2 роки тому +1

    great video

  • @tretyakweb1754
    @tretyakweb1754 2 роки тому

    СПАСИБО ЗА ВИДЕООООООООООО!!!

  • @GunaevVO
    @GunaevVO 3 роки тому +2

    А если в объекте вот такая функция
    const obj = { name: 'vladimir', getName: () => {console.log(this.name)} } То в током виде не получается вызвать

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

      прально потому что стрелка

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

    this это объект перед точкой в момент вызова функции. вот и всё. да, это так просто

  • @Собственник-т3к
    @Собственник-т3к 2 роки тому

    в общем this только в функциях следует использовать, без них они странно работают видимо.

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

    9:08 нету слова нету

  • @alexandr-v
    @alexandr-v 2 роки тому

    А можно не записывать сначала видео, а потом его комментировать, а делать это сразу вместе? А то получается какой-то рассинхрон.

  • @МаксимХрамцов-к8щ
    @МаксимХрамцов-к8щ 2 роки тому +1

    +

  • @DiLemurGame
    @DiLemurGame 2 роки тому +1

    Стрелочную функцию объяснил коротко и не совсем понятно

  • @annadiza1391
    @annadiza1391 2 роки тому

    Кто сейчас занимает позицию "внеполитики" виновен наравне с российскими властями. "Русский мир" убил уже 85 украинских дитей сотни раненых. Много укаинских городов разбомблено и на грани гуманнитарной катастрофы, жертв гражданских в разы больше военных. Десятки тисяч убитых русских солдат валяются по всей Украине, и не кому в России до них нет дела, раненых своиже добивают. Терориста Путина необходимо остановить любой ценой, пока он не уничтожил весь МИР!