@Valera221
Делаю сайты

Как добавить функцию, чтобы вызывать ее как метод у уже созданного объекта?

У меня есть объект который был создан на основе класса, и я его создаю в первую очередь, класс выглядит например вот так:
class User {

  constructor(name) {
    this.name = name;
  }

  sayHi() {
    alert(this.name);
  }

}

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


Также есть функция, которую я не хочу добавлять непосредственно в класс, а сделать отдельно, и добавить ее в протатип уже после создания объекта user. Эта функция выглядит вот так
function hello () {
console.log("О hello there !")
this.haha = "XD"
}


Я не знаю как добавить функцию hello () в прототип (или куда ни будь) объекта user, чтобы в будущем я мог вызывать метод user.hello() неограниченное количество раз. Также эту функцию hello() я бы хотел добавить в будущем в другое неограниченное кол-во объектов, по этому я и сделал ее отдельно.
Подскажите пожалуйста !
  • Вопрос задан
  • 544 просмотра
Решения вопроса 1
@askhat
class User {}
let user = new User
function hello() {}
user.hello = hello.bind(user)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект