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



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

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

    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
    }

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

  • January 6, 2020 at 20:51
    Permalink

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

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

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

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

  • January 6, 2020 at 20:51
    Permalink

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

Leave a Reply