Klasa jako zestaw metod w OOP w JavaScript

Czasami klasy są używane do grupowania metod o podobnej tematyce. W tym przypadku zazwyczaj tworzony jest tylko jeden obiekt tej klasy, a jego metody są wielokrotnie używane w różnych sytuacjach.

Spójrzmy na przykład. Stwórzmy klasę, która będzie manipulować tablicami liczb:

javascriptclass ArrHelper {
  
}

Każda metoda tej klasy będzie przyjmować tablicę jako parametr i wykonywać na niej zadaną operację. Niech, na przykład, będą to następujące metody:

javascriptclass ArrHelper {
  getSum(arr) {
    // suma elementów
  }
  
  getAvg(arr) {
    // średnia arytmetyczna
  }
}

Napiszmy implementację tych metod:

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;
    }
  }
}

Zobaczmy, jak będziemy korzystać z tych metod. Stwórzmy obiekt naszej klasy:

javascriptlet arrHelper = new ArrHelper;

Znajdźmy za pomocą naszego obiektu sumę liczb różnych tablic:

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

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

Stwórz klasę Validator, która będzie wykonywać sprawdzanie ciągów znaków na poprawność.

Задание 2

Stwórz w swojej klasie metodę isEmail, sprawdzającą ciąg znaków pod kątem tego, czy jest poprawnym adresem email.

Задание 3

Stwórz w swojej klasie metodę isDomain, sprawdzającą ciąg znaków pod kątem tego, czy jest poprawną nazwą domeny.

Задание 4

Stwórz w swojej klasie metodę isNumber, sprawdzającą ciąg znaków pod kątem tego, czy zawiera tylko liczby.