Middle
JavaScript-те call, apply және bind әдістері не үшін пайдаланылады?
sobes.tech AI
AI-дан жауап
call, apply және bind функцияның орындалу контекстін (яғни this мәнін) басқару және аргументтерді беру үшін қолданылады.
call: функцияныthisмәні мен аргументтері жеке-жеке берілген түрде шақырады.const person = { name: 'Alice' }; function greet(greeting, punctuation) { console.log(`${greeting}, ${this.name}${punctuation}`); } greet.call(person, 'Hello', '!'); // Нәтиже: Hello, Alice!apply: функцияныthisмәні мен аргументтері массив немесе массив тәрізді объект түрінде берілген түрде шақырады.const person = { name: 'Bob' }; function greet(greeting, punctuation) { console.log(`${greeting}, ${this.name}${punctuation}`); } greet.apply(person, ['Hi', '.']); // Нәтиже: Hi, Bob.bind: жаңа функцияны құрады, ол шақырылғандаthisмәні мен алдын ала берілген аргументтермен жұмыс істейді. Бұл функцияны бірден шақырмайды.const person = { name: 'Charlie' }; function greet(greeting, punctuation) { console.log(`${greeting}, ${this.name}${punctuation}`); } const boundGreet = greet.bind(person, 'Yo'); boundGreet('?'); // Нәтиже: Yo, Charlie? boundGreet('!'); // Нәтиже: Yo, Charlie!
Салыстырмалы кесте:
| Әдіс | Аргументтерді беру | Нәтиже | Шақыру |
|---|---|---|---|
call |
Жеке-жеке | Функцияның орындалу нәтижесі | Жедел шақырылады |
apply |
Массив | Функцияның орындалу нәтижесі | Жедел шақырылады |
bind |
Жеке-жеке | Жаңа функция, ол контекстпен байланысты | Жасайды, жедел шақырмайды |