Метода бинд () функције ЈаваСцрипт омогућава објекту да позајмљује методу од другог објекта без копирања.
Синтакса bind()
методе је:
func.bind(thisArg, arg1,… argN)
Овде func
је функција.
бинд () Параметри
bind()
Метод узима у:
thisArg
- Вредност наведена каоthis
параметар заfunc
. Занемарује се ако се везана функција креира помоћу новог оператора.arg1,… argN
(опционално) - Аргументи који се додају аргументима датим везаној функцији приликом позивањаfunc
.
Напомене:
- Када користите тхисАрг унутар сетТимеоут, примитивне вредности се претварају у објекте.
- Ако
thisArg
није одређено, ово из извршног обима третира се каоthisArg
.
Врати вредност из бинд ()
- Враћа копију дате функције са наведеном овом вредношћу и почетне аргументе (ако су наведени).
Пример: Коришћење бинд ()
this.x = 1; // "this" here is the global window object in browser const obj = ( x: 100, getX: function () ( return this.x; ), ); console.log(obj.getX()); // 100 const retrieveX = obj.getX; // the function gets invoked at the global scope console.log(retrieveX()); // 1 // Create a new function with 'this' bound to obj // global variable 'x' with obj's property 'x' are two separate entities const boundGetX = retrieveX.bind(obj); console.log(boundGetX()); // 100
Оутпут
100 1 100
Једном када се метода пренесе негде одвојено од објекта - this
губи се. Стварање везане функције из функције, користећи оригинални објекат, уредно решава овај проблем
Препоручено читање: Позив функције ЈаваСцрипт ()