본문 바로가기

JS

[자바스크립트] this 변경해주는 방법

반응형

기본적으로 this 라고 개발자 모드 console에 입력해 주면

라고 나온다.
여기서 가르키는 this가 window 객체를 나타내는 것이기 때문입니다.
특정 객체 안에서 this를 사용 하면 이 this는 특정 객체를 나타내는것입니다.

이러한 this가 가르키는 곳을 변경해 주고 싶으면
obj1.bind(obj2) 또는
obj1.call(obj2) 라고 쓰면 되는데
(obj1은 일단 주로 함수 이고 obj2는 객체 이다.)

둘의 차이는 bind는 this 객체만 변경을 하고 변경된 함수를 리턴해 준다.
call은 변경해서 실행까지 해준다.

사용법)
함수이름 test, this로 변경하고 싶은 객체 obj
call - test.call(obj);
bind - test.bind(obj)

결과물의 차이는 만들어서 직접 해보시길 !

참고로 해당 내용은 오늘(2022/04/27) 면접에서 질문 내용인데 헛소리 해서 공부해 봤습니다.
이론은 너무 어렵네요!

반응형