Clasa ca set de metode în OOP în JavaScript

Uneori clasele sunt folosite pentru gruparea metodelor cu tematică similară. În acest caz de obicei este creat doar un singur obiect al acestei clase și metodele sale sunt utilizate de multe ori în diverse situații.

Să vedem un exemplu. Să facem o clasă care va manipula array-uri de numere:

javascriptclass ArrHelper {
  
}

Fiecare metodă al acestei clase va primi ca parametru un array și va executa asupra lui operația specificată. Să presupunem, de exemplu, că avem următoarele metode:

javascriptclass ArrHelper {
  getSum(arr) {
    // suma elementelor
  }
  
  getAvg(arr) {
    // media aritmetică
  }
}

Să scriem implementarea acestor metode:

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

Să vedem cum vom utiliza aceste metode. Să creem un obiect al clasei noastre:

javascriptlet arrHelper = new ArrHelper;

Să găsim cu ajutorul obiectului nostru suma numerelor din diverse array-uri:

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

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

Creați o clasă Validator, care va efectua verificarea string-urilor pentru corectitudine.

Задание 2

Creați în clasa voastră o metodă isEmail, care verifică dacă string-ul este un email corect.

Задание 3

Creați în clasa voastră o metodă isDomain, care verifică dacă string-ul este un nume de domeniu corect.

Задание 4

Creați în clasa voastră o metodă isNumber, care verifică dacă string-ul conține doar numere.