# Класс как набор методов в ООП в JavaScript

Иногда классы используют для группировки методов схожей тематики. В этом случае как правило создается только один объект этого класса и его методы используются много раз в различных ситуациях.

Давайте посмотрим на примере. Сделаем класс, который будет манипулировать массивами чисел:

`class ArrHelper { }`

Каждый метод этого класса параметром будет принимать массив и выполнять над ним заданную операцию. Пусть, к примеру, у нас будут следующие методы:

`class ArrHelper { getSum(arr) { // сумма элементов } getAvg(arr) { // среднее арифметическое } }`

Напишем реализацию этих методов:

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

Давайте посмотрим, как мы будем пользоваться этими методами. Создадим объект нашего класса:

`let arrHelper = new ArrHelper;`

Найдем с помощью нашего объекта сумму чисел различных массивов:

`let sum1 = arrHelper.getSum([1, 2, 3]); console.log(sum1); let sum2 = arrHelper.getSum([3, 4, 5]); console.log(sum2);`

Сделайте класс `Validator`, который будет выполнять проверку строк на корректность.

Сделайте в вашем классе метод `isEmail`, проверяющий строку на то, что она корректный email.

Сделайте в вашем классе метод `isDomain`, проверяющий строку на то, что она корректное имя домена.

Сделайте в вашем классе метод `isNumber`, проверяющий строку на то, что она содержит только числа.

←→
↑