박서희연구소

[JavaScript] 자바스크립트의 bind 함수 이해하기 본문

○ Programming [Basic]/JavaScript

[JavaScript] 자바스크립트의 bind 함수 이해하기

SEOHUI PARK 2020. 1. 31. 16:16
반응형

[문제]

JavaScript bind 함수 가 존재한다.

[목표]

JavaScript bind 함수 의 개념을 알아보고, 학습한다.

[해결]

bind 함수

bind() 함수는 새롭게 바인딩한 함수를 만드는 함수로, 바인딩한 함수는 원본 함수 객체를 감싸는 함수로써, 바인딩한 함수를 호출하면 일반적으로 래핑된 함수가 호출 된다. (ECMAScript 2015의 exotic function object)

 

JavaScript)

var obj = {
    name: 'shpark'
};

function bindTest() {
    console.log(this.name);
}

bindTest(); // undefined 출력

var bindTest2 = bindTest.bind(obj); // bindTest 함수에 obj 객체를 bind

bindTest2(); // obj의 name 값인 shpark 이 표출

 

결과)

 

결과를 보면 bind 해준 bindTest2 함수가 정상적으로 표출되었다.

이유는 bindTest 함수안의 this 가 오브젝트 obj 가 된다. (그렇게 되도록 새로운 함수가 복제되어 만들어 진다.)

 

- 끝 -

반응형

'○ Programming [Basic] > JavaScript' 카테고리의 다른 글

[JavaScript] JavaScript 란 무엇인가?  (0) 2019.05.23
Comments