• Tuesday , 31 March 2020

Урок 2. JavaScript. Что такое контекст this. Как работает call, bind, apply

Code Canyon



Telegram: https://teleg.one/js_by_vladilen
Instagram: https://www.instagram.com/vladilen.minin
VK: https://vk.com/vladilen.minin
Группа VK: https://vk.com/js_by_vladilen

Полный курс по Angular 8+:
https://clc.to/angular

React Native: мобильная разработка на JavaScript:
https://clc.to/rnative

Полный курс по ReactJS:
https://clc.to/react

Поддержать выпуск новых видео:
ЯД: https://money.yandex.ru/to/410013757655670
PayPal: https://www.paypal.me/vladilenm

JavaScript. Что такое контекст this. Как работает call, bind, apply
В видео вы узнаете, что такое контекст в JavaScript, как он работает, как его передавать и что с ним можно делать.
В уроке вы узнаете про методы call, bind, apply – разницу между ними
В конце вы увидите практическое применение prototype в связке с контекстом и ключевым словом this

Сложный JavaScript простым языком:


Original source

3d Ocean

Related Posts

47 Comments

  1. Tartarus
    January 6, 2020 at 20:51

    Спасибо за ролики!)

  2. Tartarus
    January 6, 2020 at 20:51

    Красава!

  3. Face Book
    January 6, 2020 at 20:51

    а как связать несколько пользователей в один?

  4. mrdunki
    January 6, 2020 at 20:51

    класно пояснюєш, молодець

  5. Maxim Tmch
    January 6, 2020 at 20:51

    Просто супер понятно, каждый видос заслуживает высших похвал

  6. Anton Lashuk
    January 6, 2020 at 20:51

    Крутая подача и объяснение материала!!!! Владилен Топ!

  7. Валентин Инкогнито
    January 6, 2020 at 20:51

    А я когда учился джаваскрипеть читал, что лучше не трогать базовые классы, а делать свой функционал в своих классах, функциях и т.д.

  8. Николай Юшин
    January 6, 2020 at 20:51

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

  9. Максим Спивак
    January 6, 2020 at 20:51

    Чувак, это самое ясное и понятное из всего, что я слышал о понятии «контекст». Когда учил ооп в пхп мозг взрывался от этого слова. Сенкью вери мач. Спустя полгода практики на место становится теория. Лайк, подписка, респект!

  10. Александр Клименко
    January 6, 2020 at 20:51

    Спасибо, реально быстро и всё понятно

  11. Alex Show
    January 6, 2020 at 20:51

    Спасибо за качественный контент)

  12. Aleksey Alym
    January 6, 2020 at 20:51

    5:40, я вот не понимаю, почему если мы в bind передаем this, то туда идет window, а не сам объект person? Ведь Если в этом объекты создать функцию, которая показывает this, она покажет объект.

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

  13. Богдан Левицкий
    January 6, 2020 at 20:51

    Не просто показал конекст this)) а научил менять вселенную) вселенную в моем мозге)

  14. Planet Man
    January 6, 2020 at 20:51

    Подписался,что редкость. Лайк тоже. Интересные уроки. Жду правильный node.js и web Socket.

  15. Константин Солохин
    January 6, 2020 at 20:51

    Не понимал раньше что англичане подразумевали под context… Какой контекст??? Чего контекст??? Оказалось, все так просто.
    Спасибо.
    Все из-за трудностей перевода, иногда думаешь что слово, или фраза означает одно, а на самом деле это не так.
    Как понять, как работает мозг думающий на другом языке?
    Вот учишь, к примеру, javascript, а приходится понимать и логику мыслительных процессов англоязычных разработчиков этого языка…. Как-то так…
    И да, потому что 42….

  16. Егориус Кабаев
    January 6, 2020 at 20:51

    А ленка то уже старая))

  17. Дарья Конюхова
    January 6, 2020 at 20:51

    Спасибо!

  18. SinGlE BW
    January 6, 2020 at 20:51

    кто может объяснить такую ситуацию

    var obj = {

    b: 700,

    myMethod: function(a){

    this.c = a;} //объект ссылается на "c" свойство которое создаётся на ходу

    }

    //создание метода вне объекта ES6
    obj.fun = (a) => {

    this.d = a;
    // //пытаюсь заново ссылается на новое свойство "d" которое создастся на ходу

    console.log(this);//this не ссылается на obj
    . ссылается на window
    console.log(obj);
    //свойства d не появилось
    }

    obj.fun(200);

    хотя по старому варианту всё работает

    obj.fun = function(a) {

    this.d = a;
    // //пытаюсь заново ссылается на новое свойство "d" которое создастся на ходу

    console.log(this);//this равносильна obj
    console.log(obj);
    //свойства d появилось
    со значением 200
    }

  19. Факт Миф
    January 6, 2020 at 20:51

    не закрывай контент а то бошку оторву тебе:)

  20. Саша Васюхневич
    January 6, 2020 at 20:51

    Спасибо большое Владилен))) ты просто пушка !))

  21. Sekiro Genshiro
    January 6, 2020 at 20:51

    Вот это вообще офигенный урок

  22. Sergey Tyo
    January 6, 2020 at 20:51

    Спасибо огромное!

  23. Lustach Games
    January 6, 2020 at 20:51

    ВАУ!!!!!!!

  24. Kirill Kirillov
    January 6, 2020 at 20:51

    Спасибо, Владилен… всё про себя рассказал: тебе 25, у тебя есть девушка, зовут её Лена и ей 23 года…

  25. Iskender Chinaliev
    January 6, 2020 at 20:51

    Спасибо. Ты крутой.

  26. Liliya Water
    January 6, 2020 at 20:51

    Просто восхитительные уроки, во всяком случае первые два)) Только начала смотреть плейлист)) Надеюсь, что я дальше буду смотреть с таким же удовольствием. Класс!!! Спасибо большое

  27. Arsen Kulyniak
    January 6, 2020 at 20:51

    Плюс)

  28. DIEZ919191
    January 6, 2020 at 20:51

    кстати, здесь этого вроде не упоминалось: в режиме use strict console.log('hello', this) будет возвращать undefined, а не window

  29. DIEZ919191
    January 6, 2020 at 20:51

    ДААААА!!! НАКОНЕЦ-ТО НОРМАЛЬНОЕ ОБЪЯСНЕНИЕ!!!!!!!

  30. Антон Мирный
    January 6, 2020 at 20:51

    Сильно мощно молодёжно.. Спасибо!!!

  31. Вадим Хохлов
    January 6, 2020 at 20:51

    12:32 А я уж собирался звонить

  32. Ctive jobs
    January 6, 2020 at 20:51

    Хорошая подача так и до революции в русском ютубе не далеко, всё таки имя с таким значением. Владимир Ленин))

  33. ssurrokk
    January 6, 2020 at 20:51

    Спасибо

  34. Виталий Боднар
    January 6, 2020 at 20:51

    Красава

  35. Vladimir Kapitonov
    January 6, 2020 at 20:51

    Спасибо за материал, но это на каких собеседованиях предлагают изменять встроенные прототипы? Нужно обязательно добавить, что это плохая идея. А в целом, классно. https://learn.javascript.ru/native-prototypes#native-prototype-change

  36. Kostya Sydorenko
    January 6, 2020 at 20:51

    круто, молодец. Все четко и понятно!!!

  37. Sergey Tyo
    January 6, 2020 at 20:51

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

  38. Жорик Приемов
    January 6, 2020 at 20:51

    Спасибо, круто рассказываешь!
    Жаль, правда, что стрелочные функции не упомянул

  39. Федя Минов
    January 6, 2020 at 20:51

    Так код работает:
    console.log(`Name is ${person.name}`)
    вот так не работает // с пометкой "хоть ты разъебись"
    console.log(`Name is ${this.name}`)
    Я переписал код один в один полностью. Повторил каждый шаг. Ну что может быть, мать его, не так??
    Главное, я ведь уже сто раз работал с this. Просто решил зайти, дабы освежить в памяти. И тут на тебе встал на ровном месте. Бомбит жутко
    И кстати, спасибо за обратные кавычки, это мне чем-то напомнило ламповый питон))

  40. Vladislav What is love
    January 6, 2020 at 20:51

    Просто лучший

  41. Anatoliy Burdasov
    January 6, 2020 at 20:51

    С первого раза понял!Другие так не могут обьяснить!Владилен я тебе благодарен!)))

  42. iii rrr
    January 6, 2020 at 20:51

    гениальное видео, все очень понятно, спасибо большое!

  43. #myLearn
    January 6, 2020 at 20:51

    Считается же плохой практикой менять глобальные прототипы?

    из MDN
    Плохая практика: расширение базовых прототипов

    Одной из частых ошибок является расширение Object.prototype или других базовых прототипов.

    Такой подход называется monkey patching и нарушает принцип инкапсуляции. Несмотря на то, что ранее он использовался в таких широко распространенных фреймворках, как например, Prototype.js, в настоящее время не существует разумных причин для его использования, поскольку в данном случае встроенные типы "захламляются" дополнительной нестандартной функциональностью.

  44. Lalo lola
    January 6, 2020 at 20:51

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

  45. X Raider
    January 6, 2020 at 20:51

    Раз тема про bind, call, apply, то и задание надо решать с этим же функциями)
    function multiply (a) { console.log(this.map(v => v * a)) }

    let mult = multiply.bind(array);

    mult(2); https://jsfiddle.net/xreider/dsLuh54p/

  46. Олег Дозорцев
    January 6, 2020 at 20:51

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

  47. Два слова.
    January 6, 2020 at 20:51

    Объект Лена 😛

Leave A Comment

You must be logged in to post a comment.