본문 바로가기
카테고리 없음

[프론트엔드 기술면접] this 가 동작하는 원리와 용법

by 지 요니 2023. 7. 25.

🚩 this 가 동작하는 원리와 용법을 아는대로 설명해주세요. 평소 코드 중에서는 어떤 부분에서 가장 큰 차이가 생기나요?

 

this는 함수를 호출할때 생성되는 실행 컨텍스트 객체입니다. 현재 실행 중인 함수 내에서 this 키워드가 사용된 위치에 따라 참조하는 객체가 동적으로 결정됩니다. 즉, 함수가 호출될때 결정되기 때문에, 함수를 호출하는 방법에 따라 this가 참조하는 객체가 달라지게 됩니다.

 

  • 함수가 객체의 메서드로 호출될 때, this는 해당 객체를 참조합니다.
  • 함수가 일반적인 함수로 호출될 때, this는 전역 객체(window 또는 global)를 참조합니다.
  • 함수가 생성자로 호출될 때, this는 새로 생성된 객체를 참조합니다.
  • call(), apply(), bind() 메서드를 사용하여 명시적으로 this의 값을 지정할 수 있습니다.

 

객체의 메소드에서 this를 사용하여 해당 객체의 속성에 접근하거나 수정할 수 있습니다.
this를 사용하는 가장 큰 차이점은 호출 방법에 따라 this가 참조하는 값이 달라진다는 것입니다. 이러한 동적인 특성 때문에 this의 값이 예상과 다르게 결정될 수 있습니다. 따라서 this를 사용할 때는 주의가 필요합니다.
특히, 콜백 함수나 중첩 함수에서 this를 사용할 때는 주의가 필요합니다. 이러한 경우에는 this를 변수에 저장하여 사용하거나 bind() 메소드를 사용하여 this를 지정할 수 있습니다.

댓글