Я пытаюсь понять, как работают прототипы объектов, и поэтому попробовал кусок кода из книги 'Javascript: The Good Parts' и получил ошибку.
Я изменил код просто для удовольствия и получилОшибка.Он работает и показывает вывод, если исходный код запущен.
Это оригинальный код , и он не дал ошибок.
let stooge = {
'first-name': 'John',
'last-name' : 'Peter'
};
if(typeof Object.create !== 'function') {
Object.create = (o) => {
let F = () => {};
F.prototype = o;
return new F();
};
}
let theOtherStooge = Object.create(stooge);
console.log(theOtherStooge['first-name'], theOtherStooge['last-name']);
Я удалил условие if и получил сообщение о том, что F не является функцией конструктора.Может ли кто-нибудь объяснить мне, почему это происходит?Пожалуйста, извините, я новичок в программировании.
Модифицированный код:
let stooge = {
'first-name': 'John',
'last-name' : 'Peter'
};
Object.create = (o) => {
let F = () => {};
F.prototype = o;
return new F();
};
let theOtherStooge = Object.create(stooge);
console.log(theOtherStooge['first-name'], theOtherStooge['last-name']);