Амалиётҳо бо объектҳо дар функсия дар JavaScript
Биёед ба объект функсияеро илова кунем, ки як амалиёти муфидро иҷро мекунад. Масалан, ҷамъи унсурҳои объектро пайдо мекунад.
Фарз мекунем, ки мо объект дорем:
let obj = {a: 1, b: 2, c: 3};
Як рамз (Symbol) эҷод мекунем:
let sym = Symbol();
Функсияро менависем:
obj[sym] = function() {
};
Дар функсияе, ки ба объект пайваст аст,
this ба худи объект ишора мекунад:
obj[sym] = function() {
console.log(this); // {a: 1, b: 2, c: 3}
};
Бо ёрии функсияи мо ҷамъи унсурҳои объектро пайдо мекунем:
obj[sym] = function() {
let sum = 0;
for (let key in this) {
sum += this[key];
}
return sum;
};
Функсияи худро фарохонем, то ҷамъи унсурҳои объектро гирем:
let sum = obj[sym]();
console.log(sum); // 6-ро хориҷ мекунад
Массиви зерин дода шудааст:
let arr = [1, 2, 3];
Бо усули тавзеҳдодашуда дар дарс ба массив функсияеро илова кунед, ки ҷамъи унсурҳои массивро бармегардонад.
Функсияи эҷодшударо фарохонед ва боварӣ ҳосил кунед, ки он ҷамъро дуруст пайдо мекунад.
Бо усули push ба массив чанд унсури
дигар илова кунед.
Боварӣ ҳосил кунед, ки функсия ҷамъро бо
назардошти унсурҳои нав пайдо мекунад.