Комментарий в коде показывает место, в котором порой допускают ошибку в процессе решения обозначенной задачи.
// JS6
class Foo{
constructor(name,surname){
this.name=name;
this.surname=surname;
};
fullName(){
return this.name + ' ' + this.surname;
};
};
let foo = new Foo('John', 'Smith');
console.log(foo.fullName());
let json = JSON.stringify(foo);
let _foo = JSON.parse(json);
/* ВНИМАНИЕ! Прототип экземпляров класса хранится в его свойстве prototype.
* Т.е. пытаться получить нужный прототип через Object.getPrototypeOf(Foo) в данном
* случае было бы неправильно. */
Object.setPrototypeOf(_foo, Foo.prototype);
console.log(_foo.fullName());
// JS6
class Foo{
constructor(name,surname){
this.name=name;
this.surname=surname;
};
fullName(){
return this.name + ' ' + this.surname;
};
};
let foo = new Foo('John', 'Smith');
console.log(foo.fullName());
let json = JSON.stringify(foo);
let _foo = JSON.parse(json);
/* ВНИМАНИЕ! Прототип экземпляров класса хранится в его свойстве prototype.
* Т.е. пытаться получить нужный прототип через Object.getPrototypeOf(Foo) в данном
* случае было бы неправильно. */
Object.setPrototypeOf(_foo, Foo.prototype);
console.log(_foo.fullName());
Комментариев нет:
Отправить комментарий