Изучаю прототипы и добавляю к ним методы [call, bind, apply] и столкнулся с такой фичей.
Не понимаю откуда берется undefined.
Растолкуйте пожалуйста.
function greet() {
console.log(`Hello! My name is ${this.name}, I'm ${this.job}`);
}
function Person(name, job) {
this.name = name;
this.job = job;
}
Person.prototype.greet = function() {
return greet.call(this);
}
const person = new Person('Richard', 'developer');
console.log(person.greet());
У вас функция greet ничего не возвращает потому что.
Добавить return и получите, что и ожидали
function greet() {
return(`Hello! My name is ${this.name}, I'm ${this.job}`);
}
function Person(name, job) {
this.name = name;
this.job = job;
}
Person.prototype.greet = function() {
return greet.call(this);
}
const person = new Person('Richard', 'developer');
console.log(person.greet());
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости