Класс как набор методов в ООП в JavaScript

Иногда классы используют для группировки методов схожей тематики. В этом случае как правило создается только один объект этого класса и его методы используются много раз в различных ситуациях.

Давайте посмотрим на примере. Сделаем класс, который будет манипулировать массивами чисел:

javascriptclass ArrHelper {
  
}

Каждый метод этого класса параметром будет принимать массив и выполнять над ним заданную операцию. Пусть, к примеру, у нас будут следующие методы:

javascriptclass ArrHelper {
  getSum(arr) {
    // сумма элементов
  }
  
  getAvg(arr) {
    // среднее арифметическое
  }
}

Напишем реализацию этих методов:

javascriptclass ArrHelper {
  getSum(arr) {
    let res = 0;
    
    for (let num of arr) {
      res += num;
    }
    
    return res;
  }
  
  getAvg(arr) {
    if (arr.length > 0) {
      let sum = this.getSum(arr);
      return sum / arr.length;
    } else {
      return 0;
    }
  }
}

Давайте посмотрим, как мы будем пользоваться этими методами. Создадим объект нашего класса:

javascriptlet arrHelper = new ArrHelper;

Найдем с помощью нашего объекта сумму чисел различных массивов:

javascriptlet sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);

let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Задание 1

Сделайте класс Validator, который будет выполнять проверку строк на корректность.

Задание 2

Сделайте в вашем классе метод isEmail, проверяющий строку на то, что она корректный email.

Задание 3

Сделайте в вашем классе метод isDomain, проверяющий строку на то, что она корректное имя домена.

Задание 4

Сделайте в вашем классе метод isNumber, проверяющий строку на то, что она содержит только числа.