Клас як набор метадаў у ААП у 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, які правярае радок на тое, што яна змяшчае толькі лікі.