#10. Bind, call, apply и значение this в Javascript (+ вопрос, который я завалил на интервью).

Sdílet
Vložit
  • čas přidán 3. 06. 2024
  • Мой Telegram: t.me/stackdevru
    В этом видео мы разберемся как работает метод bind() в Javascript, а также сравним его с методами .call и .apply. Мы также разберемся как меняется значение this в наших функциях и методах, в зависимости от использования bind, call и apply.
    Пример "хитрого" вопроса про bind, на который я, в свое время, не смог ответить также привожу в видео.
    Ссылка на репозиторий проекта: t.me/stackdevru/23
    00:00 - Введение
    00:45 - Как работает .bind - пример #1
    04:55 - Зачем нужен метод .bind() - пример #2
    06:39 - Используем метод bind - пример #3
    06:59 - Создаем собственный метод с помощью bind() - пример #4
    09:28 - Практика метод bind() - пример #5
    12:50 - Вопрос про bind на интервью, который поставил меня в тупик
    13:49 - Как рыботают методы call и apply в Javascript + примеры
    Мои Курсы:
    GatsbyJS (полный курс): gatsbyjs.ru
    React для начинающих: react001.ru
    ​Все мои курсы (+ исходные файлы): stackdev.ru
    Подписывайся на соц сети:
    Telegram: t.me/stackdevru
    VK: vasilymur
    Instagram: / vm_online
    Мой блог о веб-разработке: stackdev.blog

Komentáře • 88

  • @EvilGazz
    @EvilGazz Před měsícem +1

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

  • @RamaRama-qv3jo
    @RamaRama-qv3jo Před 3 měsíci +1

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

  • @slava_po
    @slava_po Před 2 lety +12

    Один из лучших ваших обьяснений, спасибо!

  • @konglomora227
    @konglomora227 Před 2 lety +4

    Комментирую, что бы другие тоже могли увидеть Ваши старания!

    • @stackdev
      @stackdev  Před 2 lety

      Спасибо за поддержку!

  • @zhibeka6814
    @zhibeka6814 Před 2 lety +4

    Спасибо большое за ваш труд! Приятный, спокойный голос, не устаёшь слушать а самое главное доступная подача материала 👍👍👍

  • @user-qt1st1yk5t
    @user-qt1st1yk5t Před 2 lety +7

    Спасибо что помогаете разобраться! Очень благодарен за Ваш труд. Зевс и гора Олимп послали этот канал

    • @stackdev
      @stackdev  Před 2 lety +2

      Спасибо за поддержку!

    • @27sosite73
      @27sosite73 Před měsícem

      головне щоб не Ладим Ладимьіч

  • @thedvlpr
    @thedvlpr Před 2 lety +10

    Отличное разъяснение 👍 спасибо за ваш труд ❤️

  • @user-sv9tu6ff2q
    @user-sv9tu6ff2q Před 5 měsíci +1

    отлично обьяснил спасибо!!!

  • @user-kq5ow1zv3m
    @user-kq5ow1zv3m Před 6 měsíci

    спасибо.все понятно и примеры несложные для разбора.То,что нужно!

  • @user-cw2nd9dj2p
    @user-cw2nd9dj2p Před 2 lety +1

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

  • @igorzubkov3877
    @igorzubkov3877 Před rokem +2

    Присоединяюсь к адекватным комментаторам. Действительно годный контент и отличная подача. Успехов вам

  • @user-kw5yy1gi7e
    @user-kw5yy1gi7e Před 2 lety +1

    Отличное видео. Спасибо за доступное объяснение.

  • @user-ff3lc1et3u
    @user-ff3lc1et3u Před 2 lety

    Все очень понятно. Спасибо.

  • @vladimirpuzey713
    @vladimirpuzey713 Před 2 lety +1

    Отличное объяснение, спасибо 🙏

  • @DoSmth
    @DoSmth Před rokem +2

    Отличное видео с хорошими примерами, спасибо!

  • @caveofmovies8597
    @caveofmovies8597 Před 2 lety +2

    очень крутой урок, спасибо!

  • @27sosite73
    @27sosite73 Před měsícem

    дуже дуже дуже дуже дуже якісне пояснення

  • @SM-xp8tw
    @SM-xp8tw Před 18 dny

    все круто обьяснил, ну пропустил одну очень важную деталь про контекст, а именно контекст в стрелочных функциях, на собесах про это часто спрашивают

  • @Nikitosss91
    @Nikitosss91 Před 2 lety +5

    Вы очень хорошо поясняете, хотелось бы от вас видос про ООП (классы прототипы) и эвент луп(ну в целом про промиссы асинхронность, кол стек )

    • @stackdev
      @stackdev  Před 2 lety

      Спасибо! Про Классы и прототипы уже есть (ES6 плейлист).....там же найдете промисы. Кол стек - предстоит сделать.

    • @user-bo4oy7ns7z
      @user-bo4oy7ns7z Před 2 lety

      Здравствуйте, видел вас в курсе по "React Путь самурая", хотел бы узнать как у вас обстоят дела с учёбой?Или может уже работу нашли?

    • @Nikitosss91
      @Nikitosss91 Před 2 lety

      @@user-bo4oy7ns7z Привет, нашел, но не реакт))0(

    • @user-bo4oy7ns7z
      @user-bo4oy7ns7z Před 2 lety

      @@Nikitosss91 vue или angular?

    • @Nikitosss91
      @Nikitosss91 Před 2 lety

      @@user-bo4oy7ns7z нет, просто фронтом)

  • @catsapp
    @catsapp Před 2 lety

    Просто высший класс! Смотрел видео, много думал. По сути bind создает новую функцию обертку с новой областью видимости в которую включены 2 области видимости: целевой и привязанной функции.
    То есть bind это { scope 1} + { scope 2} = { scope 12 }

  • @user-cu2ng7gf4k
    @user-cu2ng7gf4k Před rokem +1

    лучший видос по this
    спасибо

  • @alexidino
    @alexidino Před 2 lety +11

    Рано или поздно канал бомбанет). Первый раз столкнулся с bind, call, apply, сразу все понял, за день закрепил. Самое главное понял суть this. Под каждым видео оставлю комментарий и лайк.

    • @stackdev
      @stackdev  Před 2 lety

      Спасибо! оч приятно:)

    • @catsapp
      @catsapp Před 2 lety

      Ждем миллион подпичиков!

    • @SMILESHOW1337
      @SMILESHOW1337 Před rokem

      работаешь уже где-то?

  • @user-hu1gl5lw3p
    @user-hu1gl5lw3p Před 2 lety +1

    объяснение и примеры топчик 👍

  • @kinomir20
    @kinomir20 Před rokem +1

    Все стало ясно, спасибо!

    • @stackdev
      @stackdev  Před rokem

      Спасибо за коммент!

  • @Mike-of4tp
    @Mike-of4tp Před 2 lety

    единственный человек в русскоязычном сегменте веб-обучения, который говорит "байнд" (что правильно), все другие говорят (почему-то) "бинд")))

    • @catsapp
      @catsapp Před 2 lety

      Да ладно

    • @Drewaka
      @Drewaka Před 8 měsíci

      потому что все на КС выросли))
      привычка школьных лет...

  • @user-pd3wv9eb8w
    @user-pd3wv9eb8w Před 2 lety +1

    Наконец то начинаю понимать как это все работает, спасибо Вам большое) Не могли бы Вы записать урок по конструкторам? Никак не могу понять для чего они нужны, и как их использовать

    • @stackdev
      @stackdev  Před 2 lety +2

      У меня есть видео про классы - в playlist ES6

  • @kravchenko96
    @kravchenko96 Před rokem

    10:49 более эфективно будет если сделать так:
    tip: 1.1,
    return total * this.tip

  • @paulbraam7473
    @paulbraam7473 Před 2 lety +1

    Отличное видео! А какая тема VS Code тут используется?

    • @stackdev
      @stackdev  Před 2 lety

      Спасибо! Это - Dracula

  • @ivancoin2570
    @ivancoin2570 Před 2 lety +1

    Добрый день. Спасибо за видео. Подскажите название темы в vscode?

  • @userman6193
    @userman6193 Před rokem +1

    Пока), это самое толковое объяснение, которое я встречал в видео на CZcams! Прекрасно всё укладывается относительно this, bind, call, apply и даже spread operator). Так коротко и ясно сразу разложить 5 вопросов по полочкам - Amazing 👏! Жду новые видео! Спасибо!
    P.s. Какая у вас тема в VSC? Если это Dracula, то почему у меня 'розовый цвет' - не розовый)?

    • @stackdev
      @stackdev  Před rokem +1

      Спасибо! тема - dracula

  • @vladimirpuzey713
    @vladimirpuzey713 Před 2 lety +1

    Спасибо за отличное объяснение 🙏

  • @pinkytelya
    @pinkytelya Před rokem

    16:45
    а почему тут нет метода bind, ведь до этого вызывался calculate где this.tip, а в detail this.calculate(sum). Не поняла этот момент.
    Поняла, что оно и так работает, а почему? Почему до этого нужен был bind, а сейчас не нужен.
    спасибо

  • @diamaxel
    @diamaxel Před 2 lety +1

    топчик

  • @Sashad2003
    @Sashad2003 Před rokem

    Я смотрел много уроков и ни черта не понимал... уже подумал я тупой (не исключено).
    Посмотрел этот ролик и все понял. Василий, ты гений. 👍👍👍👍👍👍
    Только один маленький вопрос остался. Зачем нужны тогда call и apply если они оба делают тоже самое и даже разницы между ними уже нет так как оба могут получать массивы?

    • @slavkapiyavka
      @slavkapiyavka Před 11 měsíci

      не совсем так - массив параметров можно передать только в apply, а в call параметры нужно передавать через запятую.
      запомните мнемонику по первым буквам: с - call - comma (запятая), a - apply - array (массив)

  • @cartoonschannel8100
    @cartoonschannel8100 Před 2 lety

    Спасибо за курс! Хотел спросить, что по вашему мнению стоит делать после этого курса? Думаю начать учить react, но не рано ли?

    • @stackdev
      @stackdev  Před 2 lety

      Сначала база js - потом можно React начинать.

    • @cartoonschannel8100
      @cartoonschannel8100 Před 2 lety +1

      @@stackdev
      Спасибо,
      Сделал себе такой план:
      1. dom js - ваш курс
      2. Поток команд (if, else, switch и тд)
      3. Устранение ошибок( как их находить, создавать свой конструктор Error)
      4. Асинхронность
      5. Функциональное программирование
      6. ООП
      7. Отправка данных в backend(axios,fetch и тд)
      8. React js

    • @stackdev
      @stackdev  Před 2 lety +3

      @@cartoonschannel8100 + 1) Сделайте пару десятков небольих проектов на ванильном js (типа czcams.com/play/PLtL3lrXPn2rX3eDIQ4QzLEr7NZjtocwGQ.html)
      2) Методы объектов и массивов (посмотрите у меня)
      3) ES6 (без этого не сможете в реакт ориентироваться)
      .......

    • @cartoonschannel8100
      @cartoonschannel8100 Před 2 lety

      @@stackdev Спасибо большое, именно так и сделаю!

    • @liyaguliaieva1111
      @liyaguliaieva1111 Před 2 lety +1

      @@stackdev не открывается плейлист😢 как называется канал на котором его можно найти?

  • @d_r_robot
    @d_r_robot Před 2 lety +2

    Лайк, подписан. Ищу работу Frontend developer. @DR_ROBOT - телеграмм.

    • @stackdev
      @stackdev  Před 2 lety +3

      Привет - привет! Много интервью уже было? Про bind спрашивали?:)

    • @d_r_robot
      @d_r_robot Před 2 lety

      @@stackdev спрашивали полифил map, а так даже до собеса не доходит, бреют. Было пару раз просили с 0 написать spa. Я не стал, там сроки ещё ставят.

    • @stackdev
      @stackdev  Před 2 lety

      @@d_r_robot А в каком это городе?

    • @d_r_robot
      @d_r_robot Před 2 lety +1

      @@stackdev Если вопрос про собес, то все они по России. Если про то, откуда я, то Татарстан.

    • @stackdev
      @stackdev  Před 2 lety

      @@d_r_robot Понятно. Спаршиваю ради интереса - какие города, какие компании, что требуют....