UNPKG

planetproto

Version:

A Workshop for understanding JavaScript prototypes

48 lines (34 loc) 1.8 kB
\_\_proto\_\_ ------------------ `__proto__` найбільш підходить для розуміння ланцюжків прототипів в JavaScript. На цей час `__proto__` не є частиною стандарту JavaScript. Тому, ви не повинні використовувати цей код в своїх проектах. Проте, `__proto__` дозволяє легко пояснити природу прототипів. ```js // створемо об'єкт alien var alien = { kind: 'alien' }; // і robot var robot = { kind: 'robot' }; // і ще один об'єкт 'zippy' var zippy = {}; // зробимо alien прототипом zippy zippy.__proto__ = alien; // zippy став пов'язаним з alien // він успадковує властивості об'єкту alien console.log(zippy.kind); //=> 'alien' // зробімо robot прототипом of zippy zippy.__proto__ = robot; // zippy став пов'язаним з robot console.log(zippy.kind); //=> 'robot' ``` Як ми вже побачили `__proto__` властивість дуже проста для розуміння та використаня. Нагадаємо, що не слід використовувати цей код на продакшені, проте `__proto__` надає гарний фундамент для розуміння об'єктної моделі JavaScript. Щоб перевірити чи є один об'єкт прототипом іншого скористайтеся `isPrototypeOf`: ```js console.log(alien.isPrototypeOf(zippy)); //=> true ``` Завдання ---------- Дотримуйстесь інструкцій з файлу 020.js. Цей файл вже створено для вас.