Я пытаюсь понять, как работают js prototypes
и classes
, и я использую Chrome console.log
для печати и просмотра состояния моих объектов, пока я добавляю новые свойства и т. д.
Это код, который я использую: (fiddle)
function Person(){}
Person.prototype.sayHello = function(){ alert("Hello"); };
Person.prototype.name = "Name";
console.log(Person.prototype) //1st console.log
Person.prototype.surname = "Surname";
console.log(Person.prototype); //2nd console.log
Я ожидаю, что в консоли будут напечатаны два разных результата, потому что свойство surname
было добавлено после первого журнала консоли. Вместо этого это вывод консоли:
Как видите, оба выхода имеют определенное свойство surname
, даже если оно было добавлено только после 1-го console.log..
Можете ли вы объяснить мне, почему? Что мне не хватает? Разве console.log не показывает текущее состояние объекта при вызове?
Заранее спасибо, с уважением