planetproto
Version:
A Workshop for understanding JavaScript prototypes
48 lines (34 loc) • 1.8 kB
Markdown
\_\_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.
Цей файл вже створено для вас.