UNPKG

planetproto

Version:

A Workshop for understanding JavaScript prototypes

39 lines (26 loc) 1.6 kB
Контекст 'this' ------------------- Якщо ми використовуємо `new` з функцією, JavaScript пов'язує новий об'єкт з ключовим словом `this` екземпляра Alien. Функція конструктор повертає (не явно) це посилання, якщо ви не повертаєте щось примусово: Якщо ми робимо: ```js function Alien() { this.kind = 'alien'; } var zippy = new Alien(); zippy.kind; //=> 'alien' ``` В JavaScript відбувається щось таке: ```js function Alien() { var this = {}; // не валідний JavaScript, лише для ілюстрації this.__proto__ = Alien.prototype; this.kind = 'alien'; return this; } ``` Але, будьте уважні, `this` пов'язується лише при використанні `new`. В інших випадках `this` буде пов'язане з глобальним об'єктом. Для браузера це буде `window` Тому, це може призводити до помилок. Популярним є використання заглавної першої литери в назві функції конструктора, напріклад `Alien`. Така домовленність дозволяє розділяти звичайні фнкції, та функції конструктори. Завдання --------- Дотримуйстесь інструкцій з файлу 090.js. Цей файл вже створено для вас.