пятница, 21 июля 2017 г.

Приведение к нужному типу объекта, полученного из JSON

Комментарий в коде показывает место, в котором порой допускают ошибку в процессе решения обозначенной задачи.


// 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());

Комментариев нет: