Web/Javascript

JavaScript bind 사용법

selfstarter 2020. 7. 20. 15:39

JavaScript bind 사용법

JavaScript에서 this는 사용하고 있는 현재 객체를 뜻한다.

즉 this가 가변적이므로 내 의도와 다르게 this 사용되는 경우가 생긴다.

또 헷갈려서 지역변수와 this를 혼동하여 undefined 가 나오는 경우도 있다

$("#clickBtn").click(function(){
	var testval = 20;
	console.log(this.testval);		// undefined
});

이렇게 this가 가변적이라 헷갈린다면

binid를 사용해서 해당 함수의 this를 특정객체로 고정시킬 수 있다

// 1. this를 사용할 객체 정의
var obj = {testval:10};

// 2. function 정의
function getTestVal(){
	var testval = 20;
	console.log(this.testval);		// 2 0
}

// 3. bind함수에 this를 사용할 객체를 param으로 전달
var clickEvent = getTestVal.bind(obj);
$("#clickBtn").click(function(){
	clickEvent();
});