Задать вопрос
@hulktoster

Почему ошибка в конструкторе?

Cоздал конструктор:

function User (argname) {                                                                    
   this.name = argname;
   
   this.sayHi = function () {
     alert ("Меня зовут: " + this.name);
   };
}

let vasya = new User ("Вася");
vasya.sayHi();


Работает.
Результат: Меня зовут: Вася

Хотел переделать то же самое но в классе:

class User {                                          
    constructor (argname) {
        this.name = argname;
        }
    this.sayHi() {
        alert("Меня зовут: " + this.name);  
    }
} 

var vasya = new User("Вася",20);
 
vasya.sayHi();


Не работает. Что не так?
  • Вопрос задан
  • 125 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
Решения вопроса 2
@bogomazov_vadim
Исправь:
class User {                                          
    constructor (argname) {
        this.name = argname;
    }
    sayHi() {
        alert("Меня зовут: " + this.name);  
    }
} 

var vasya = new User("Вася",20);
 
vasya.sayHi();
Ответ написан
Комментировать
...
this.sayHi() {
        alert("Меня зовут: " + this.name);  
    }
...


Тут this ненужно

...
sayHi() {
        alert("Меня зовут: " + this.name);  
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы