@No_name404

Динамический вызов приватных методов класса?

Решил попробовать использовать на проекте не так давно введенные приватные методы. Небольшой пример кода:
class Validate{

  constructor({val, type}){
    this.type = type;
    this.val = val;
    this.err = false
  }

  #login(){
    return /[a-zA-Z]/.test(this.val);
  }


  isValidField(){
    const type = '#'+this.type; //login
    return this[type]();
  }  
}


  return new Validate({val: 'test', type: 'login'}).isValidField();


Публичные методы таким способом получается вызвать без проблем, но с приватными вылетает ошибка. Есть ли способ вызвать приватные методы динамично, или все это пустая затея?
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
Bavashi
@Bavashi
Нет. Приватными полями может оперировать только сам класс их содержащий:

Only the class which defines the private static field can access the field.

Но вы можете использовать геттеры и сеттеры.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
like-a-boss
@like-a-boss
признайся, тебя тянет на код мужика
Это действительно пустая затея. Приватные методы нельзя вызвать динамически.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы