Задать вопрос
pavel9609
@pavel9609
Студент-программист

Как объявить поле в классе javascript?

Есть класс, как объявить поля как в С++ и обращаться к полю без this?
class Human{
  constructor(surname,name,patron){
    this.surname = surname;
    this.name = name;
    this.patron = patron;
  }
  sayHi() {
    alert("Hello,"+this.surname+" "+this.name+" "+this.patron)
  }
}
  • Вопрос задан
  • 702 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
как объявить поля как в С++

Без транспиляции никак, в отличие от классов это еще не вошло в стандарт и нету в движках. А с babel и т.п. — вот так:
class Human {
    surname = '';
    name = '';

    constructor() {}
}


обращаться к полю без this

Короткий ответ: никак. Правильный ответ: очень криво и с большим количеством шаблонного кода, погуглите private variables. Еще можно на CoffeeScript писать, если так уж это мешает там вместо this. пишут @.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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