Класс чун маҷмӯи методҳо дар ООП дар JavaScript

Гоҳо классҳоро барои гурӯҳбандӣ методҳои мавзӯи монанд истифода мебаранд. Дар ин ҳолат одатан танҳо як объект аз ин класс сохта мешавад ва методҳои он боранд бисёр маротиба дар ҳолатҳои гуногун истифода мешаванд.

Биёед ба мисол назар кунем. Классеро созем, ки хоҳад бо массивҳои ададҳо кор кунад:

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

Биёед бубинем, ки чӣ гуна мо хоҳем аз ин методҳо истифода кунем. Объекте аз классамон созем:

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 созед, ки сатрро барои он, ки он танҳо ададҳо дорост, санҷад.