Когда я смотрел 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