Classe come insieme di metodi in OOP in JavaScript

A volte le classi vengono utilizzate per raggruppare metodi di argomento simile. In questo caso di solito viene creato solo un oggetto di questa classe e i suoi metodi vengono utilizzati molte volte in varie situazioni.

Vediamo un esempio. Creiamo una classe che manipolerà array di numeri:

javascriptclass ArrHelper {
  
}

Ogni metodo di questa classe riceverà come parametro un array ed eseguirà su di esso l'operazione specificata. Supponiamo, ad esempio, di avere i seguenti metodi:

javascriptclass ArrHelper {
  getSum(arr) {
    // somma degli elementi
  }
  
  getAvg(arr) {
    // media aritmetica
  }
}

Scriviamo l'implementazione di questi metodi:

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

Vediamo come utilizzeremo questi metodi. Creiamo un oggetto della nostra classe:

javascriptlet arrHelper = new ArrHelper;

Troviamo con l'aiuto del nostro oggetto la somma dei numeri di vari array:

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

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

Crea una classe Validator, che eseguirà il controllo delle stringhe per la correttezza.

Задание 2

Aggiungi alla tua classe il metodo isEmail, che controlla se una stringa è un email valido.

Задание 3

Aggiungi alla tua classe il metodo isDomain, che controlla se una stringa è un nome di dominio valido.

Задание 4

Aggiungi alla tua classe il metodo isNumber, che controlla se una stringa contiene solo numeri.