Middle
რა არის call, apply და bind მეთოდები JavaScript-ში?
sobes.tech AI
პასუხი AI-სგან
call, apply һәм bind — JavaScript-деги бардык функцияларга жеткиликтүү методдор. Алар функциянын аткарылыш контекстин (мааниси this) башкаруу үчүн колдонулат.
- call: Функцияны белгилүү
thisмааниси жана жеке аргументтер менен чакыруу.// call колдонуу мисалы function greet() { return "Салам, " + this.name + "!"; } const person = { name: "Иван" }; console.log(greet.call(person)); // Чыгуу: Салам, Иван! - apply: Функцияны белгилүү
thisмааниси жана массив же псевдомассив түрүндө берилген аргументтер менен чакыруу.// apply колдонуу мисалы function sum(a, b) { return this.base + a + b; } const context = { base: 10 }; const numbers = [5, 3]; console.log(sum.apply(context, numbers)); // Чыгуу: 18 - bind: Жаңы функция түзөт, ал чакырылганда белгилүү
thisмаанисин алат. Оргиналдуу функция дароо чакырылбайт.// bind колдонуу мисалы const module = { x: 42, getX: function() { return this.x; } }; const unboundGetX = module.getX; console.log(unboundGetX()); // Чыгуу: undefined (this глобалдык объектке көрсөтөт) const boundGetX = unboundGetX.bind(module); console.log(boundGetX()); // Чыгуу: 42 (this moduleге байланган)
Негизги айырмачылыктар:
| Метод | Аргументтерди берүү | Чакырылышы | Кайтарылуучу мааниси |
|---|---|---|---|
| call | Артыкча (үтүктөр менен) | Дароо | Функциянын аткаруу натыйжасы |
| apply | Массив же псевдомассив түрүндө берилет | Дароо | Функциянын аткаруу натыйжасы |
| bind | Артыкча (үтүктөр менен) | Жок, дароо эмес | Жаңы функция, this байланган |