Почему после правильной отработки метода класса возвращается undefined?
Есть клас:
class Movie {
constructor(name, category, startShow) {
this.name = name;
this.category = category;
this.startShow = startShow;
}
watchMovie() {
console.log("I watch the movie " + this.name + "!");
}
}
И есть 2 экземпляра класа:
const movie1 = new Movie("Titanic", "drama", 1997);
const movie2 = new Movie("Troya", "historical", 2004);
console.log(movie1.watchMovie());
Я не понимаю, почему после того, как метод отработал возвращается ещё и undefined

Ответы (3 шт):
Автор решения: vsemozhebuty
→ Ссылка
Если функция (метод) не возвращает значения явно при помощи return, тогда возвращается undefined, как и в вашем случае. Вы дважды вызываете console.log() — один раз внутри метода со строкой, второй раз вне метода с результатом метода, который и есть undefined.
Автор решения: Angry Progy
→ Ссылка
потому что когда вы вызываете метод, в нем уже прописан console.log, нужно просто написать movie1.watchMovie();