Почему не удаляется свойство?

Два варианта кода:
1)
function Rabbit() {}
Rabbit.prototype = {
  eats: true
};

let rabbit = new Rabbit();

delete rabbit.eats;

alert( rabbit.eats );

2)
function Rabbit() {}
Rabbit.prototype = {
  eats: true
};

let rabbit = new Rabbit();

delete Rabbit.prototype.eats;

alert( rabbit.eats );


Они оба хранят ссылку на объект
{
 eats: true
}


Тогда почему во втором коде ссылка удаляется - вот здесь delete Rabbit.prototype.eats;, а в первом не удаляется?
delete rabbit.eats;
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
black1277
@black1277
Вольный стрелок
Потому что в первом случае ты обращаешься к экземпляру класса, а во втором случае к прототипу самого класса. Неужели сам не видишь?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы