planetproto
Version:
A Workshop for understanding JavaScript prototypes
34 lines (24 loc) • 968 B
Markdown
Arrays and objects in prototypes
---------------------
Масиви та об'єкти можуть поводитися не так, як ви очкуєте.
Давайте розглянемо що відбудеться в разі змінення масиву:
```js
var alien = {
skills: ['morph']
};
var zorg = {};
zorg.__proto__ = alien;
zorg.skills.push('clone');
console.log(zorg.skills);
//=> morph, clone
// we expected this
console.log(alien.skills);
//=> morph, clone
// можливо, ви не очікували а це, але воно працює саме так
// бо ми змінили масив в прототипі об'єкту.
```
Коли ви змінюєте масив або об'єкт – ви робите зміни безпосередньо в об'єкті.
Завдання
---------
Дотримуйстесь інструкцій з файлу 050.js.
Цей файл вже створено для вас.