Когда я смотрел WatchAndCode, Гордон сослался на свою небольшую статью об этом.
Вам нужно прокрутить немного вниз.
Есть пять примеров того, как это можно использовать в JS.
Первые два случая довольно просты и понятны. А вот с третьим немного сложно. Это связано с функцией конструктора.
Мне пришлось больше узнать о функциях-конструкторах.
Этот урок немного помог.
Я также хотел бы больше узнать о конструкторах в Википедии.
В статье в Википедии рассказывается о концепции конструкторов и о том, как они работают на разных языках.
Там написано, что в ES6 теперь есть классы. Я узнаю об этом больше позже, когда сосредоточусь на ES6.
class FooBar { constructor(baz) { this.baz = baz } }
Еще одна вещь, которую я узнал, это то, что Википедия является достойным источником информации и может познакомить вас со многими вещами.
Теперь я изучаю, как это работает с .bind() .call() .apply():
function logThis() { console.log(this); } let explicitlySetLogThis = logThis.bind({name: 'Anthony'}); explicitlySetLogThis();
Теперь возникает вопрос, почему repl.it регистрирует undefined? Мне нужно это выяснить.
Это все на сегодня. Я читал немного о 4-м случае. Я закончу это завтра.
Какие релевантные ссылки, о которых я хотел бы узнать больше, связаны с ключевым словом this и с конструкторами.
Шаблон OLOO Кайла Симпсона против шаблона проектирования прототипа
Понимание конструкторов JavaScript | CSS-трюки
Фабричные функции JavaScript, функции конструктора и классы
Функции конструктора — openclassrooms