BIND

Coooding·2021년 10월 3일
0

새롭게 알게된 것

목록 보기
1/5

오늘 공부를 하다가 BIND라는 개념을 알게되었다. BIND는 어떤 걸까? 코드로 보자.

const moduler = {
  X: "이건 바인드",

  getX: function () {
    return this.X;
  },
};

const outScope = moduler.getX;

console.log(outScope()); // undefined

const bindScope = moduler.getX.bind(moduler);

console.log(bindScope());// 이건 바인드

위 코드를 실행하면

undefined

이건 바인드

이렇게 차례대로 출력이 될 것이다.

첫 번째 oustScope에서는 moduler.getX를 받았지만 outScope의 입장에서 this의 Scope에는 X라는 Property가 존재하지 않는다.

그래서 Undefined가 출력된다.

두 번째 bindScope에서는 bind 함수를 사용했다.

bind를 이용해서 this의 Scope를 지정해주는 것이다. 나는 moduler라고 설정을 해주었기 때문에 moduler 객체에 존재하는 'X'로 this의 범위를 정해주는 것이다. 그래서 bindScope를 실행하면 moduler의 존재하는 X 값이 출력된다.

profile
프론트엔드가 재미있는 사람

0개의 댓글