Classe como um conjunto de métodos em POO em JavaScript

Às vezes, as classes são usadas para agrupar métodos de temática semelhante. Nesse caso, geralmente apenas um objeto dessa classe é criado e seus métodos são usados muitas vezes em várias situações.

Vamos ver um exemplo. Vamos fazer uma classe que irá manipular arrays de números:

javascriptclass ArrHelper {
  
}

Cada método desta classe receberá um array como parâmetro e executará uma operação específica nele. Vamos supor, por exemplo, que tenhamos os seguintes métodos:

javascriptclass ArrHelper {
  getSum(arr) {
    // soma dos elementos
  }
  
  getAvg(arr) {
    // média aritmética
  }
}

Vamos implementar esses métodos:

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

Vamos ver como usaremos esses métodos. Vamos criar um objeto da nossa classe:

javascriptlet arrHelper = new ArrHelper;

Vamos encontrar a soma dos números de diferentes arrays usando nosso objeto:

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

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

Crie uma classe Validator que realizará a verificação de strings quanto à correção.

Задание 2

Adicione à sua classe o método isEmail, que verifica se uma string é um email válido.

Задание 3

Adicione à sua classe o método isDomain, que verifica se uma string é um nome de domínio válido.

Задание 4

Adicione à sua classe o método isNumber, que verifica se uma string contém apenas números.