JavaScript да ООП да Класслар методлар тўплами сифатида

Бaъзан класслар ўхшаш мавзуга оид методларни гуруҳлаш учун ишлатилади. Бунда оддатка фақат биттагина объект яратилади ва унинг методлари турли вазиятларда қайта-қайта ишлатилади.

Келгила, мисолда кўрамиз. Сонли массивлар билан ишловчи класс ясаймиз:

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

Келгила, бу методлардан қандай fойдаланишимизни кўрамиз. Бизнинг классимизнинг объектини яратамиз:

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 методини ясанг, у сатрда фақат сонлар борлигини текширади.