Třída jako sada metod v OOP v JavaScriptu

Někdy se třídy používají pro skupinování metod podobné tematiky. V tomto případě se zpravidla vytvoří pouze jeden objekt této třídy a jeho metody se používají mnohokrát v různých situacích.

Podívejme se na příklad. Vytvořme třídu, která bude manipulovat s poli čísel:

javascriptclass ArrHelper {
  
}

Každá metoda této třídy parametrem bude přijímat pole a provádět nad ním danou operaci. Nechť, například, máme následující metody:

javascriptclass ArrHelper {
  getSum(arr) {
    // součet prvků
  }
  
  getAvg(arr) {
    // aritmetický průměr
  }
}

Napišme implementaci těchto metod:

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

Podívejme se, jak budeme používat tyto metody. Vytvořme objekt naší třídy:

javascriptlet arrHelper = new ArrHelper;

Najděme pomocí našeho objektu součet čísel různých polí:

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

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

Vytvořte třídu Validator, která bude provádět kontrolu řetězců na správnost.

Задание 2

Vytvořte ve své třídě metodu isEmail, kontrolující řetězec na to, že je to správný email.

Задание 3

Vytvořte ve své třídě metodu isDomain, kontrolující řetězec na to, že je to správné doménové jméno.

Задание 4

Vytvořte ve své třídě metodu isNumber, kontrolující řetězec na to, že obsahuje pouze čísla.