Клас като набор от методи в ООП в 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, проверяващ дали низът съдържа само числа.