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:
class 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:
class ArrHelper {
getSum(arr) {
// součet prvků
}
getAvg(arr) {
// aritmetický průměr
}
}
Napišme implementaci těchto metod:
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;
}
}
}
Podívejme se, jak budeme používat tyto metody. Vytvořme objekt naší třídy:
let arrHelper = new ArrHelper;
Najděme pomocí našeho objektu součet čísel různých polí:
let sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);
let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Vytvořte třídu Validator,
která bude provádět kontrolu
řetězců na správnost.
Vytvořte ve své třídě metodu
isEmail, kontrolující řetězec na to,
že je to správný email.
Vytvořte ve své třídě metodu
isDomain, kontrolující řetězec na to,
že je to správné doménové jméno.
Vytvořte ve své třídě metodu
isNumber, kontrolující řetězec na to,
že obsahuje pouze čísla.