728x90
300x250
바인딩은 this를 특정 객체에 고정시키는 작업을 말한다.
JavaScript에서는 bind 메서드를 사용해서 바인딩할 수 있다.
예시
function sayHello() {
console.log(this.name);
}
const obj = { name: "React" };
const boundSayHello = sayHello.bind(obj); // obj와 바인딩
boundSayHello(); // "React"
여기서 sayHello.bind(obj)는 sayHello 함수의 this를 항상 obj로 고정시킨다.
이제 boundSayHello를 호출하면 this는 항상 obj를 가리킨다.
상황과 위치에 따른 this값
일반 함수에서 this | window 객체 |
중첩 함수에서 this | window 객체 |
이벤트에서의 this | 이벤트를 발생시킨 객체 |
메서드 에서의 this | 메서드를 호출한 객체 |
메서드 내부의 중첩함수에서 this | window 객체 |
이렇게 this는 위치에 상황에 따라 가리키는 것이 달라지게 된다.
그래서 bind 함수를 이용해서 this값을 고정시켜주는 것이다.
과거에 bind 메소드에 대한 포스팅 참고
https://moo-you.tistory.com/571
화살표 함수에 대한 포스팅 참고
https://moo-you.tistory.com/489
728x90
반응형
'javaScript' 카테고리의 다른 글
Pure함수 Impure함수 개념이해 (0) | 2024.11.04 |
---|---|
콘솔창에서 자바스크립트 사용하기 (1) | 2024.06.04 |
jquery-validation (0) | 2024.05.26 |
select 꾸미기 _ nice-select (비공개) (0) | 2024.05.24 |
즉시 호출되는 함수 표현식(IIFE) 사용 이유 (0) | 2024.05.21 |
댓글