Я пытаюсь использовать наследование, но я застрял. Я получаю сообщение об ошибке и не знаю, что я делаю неправильно. Все примеры, которые я вижу в Интернете, не передают объекты в их конструкторы, поэтому я не уверен, что я должен делать. Вот упрощенный вниз пример -JavaScript - ошибка с наследованием
function Automobile(obj){
this.name = obj.name;
this.model = obj.model;
}
Automobile.prototype = {
getName: function(){
console.log(this.name);
},
getModel: function(){
console.log(this.model);
}
}
var bmw = new Automobile({
name: 'BMW',
model: 'm5'
})
bmw.getName();
bmw.getModel();
function Truck(obj){
this.cabSize = obj.cabSize
}
Truck.prototype = new Automobile();
Truck.prototype = {
getCabSize: function(){
console.log(this.cabSize);
}
}
var fordF150 = new Truck({
name: 'Ford',
model: 'F150'
})
//Uncaught TypeError: Cannot read property 'name' of undefined test.js:2
//Automobile test.js:2
//(anonymous function)
Вы не передали объект, когда вы вызывали 'Truck.prototype = new Automobile(); его ожидали, что первым параметром будет объект. – Musa