JavaScript да ООП да Класслар методлар тўплами сифатида
Бaъзан класслар ўхшаш мавзуга оид методларни гуруҳлаш учун ишлатилади. Бунда оддатка фақат биттагина объект яратилади ва унинг методлари турли вазиятларда қайта-қайта ишлатилади.
Келгила, мисолда кўрамиз. Сонли массивлар билан ишловчи класс ясаймиз:
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;
}
}
}
Келгила, бу методлардан қандай fойдаланишимизни кўрамиз. Бизнинг классимизнинг объектини яратамиз:
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 методини ясанг,
у сатрда фақат сонлар борлигини текширади.