본문 바로가기
웹 개발 (Frontend Developer)/JavaScript

JavaScript에서 'this'

by Jackykim 2024. 9. 24.

<this에 대해 알아보기>

'this' 키워드는 항상 객체를 참조합니다. 그러나 'this'가 참조하는 객체는 this가 호출되는 방식과 위치에 따라 달라질 수 있습니다. **this는 변수가 아닌 키워드입니다. this의 값을 변경할 수 없습니다**

 

<this 키워드는 사용되는 방식에 따라 다른 객체를 참조>

<메서드 방식에서 사용>

자바스크립트에서 객체 메서드의 문맥에서는 this 키워드가 객체 자체를 가리키며, 메서드의 범위 내에서 해당 객체의 속성 및 메서드에 접근할 수 있게 해 줍니다.

 

<'this'를 단독으로 호출하는 방법>

단독으로 사용될 때, this는 전역 객체를 가리킵니다.

** 브라우저 환경에서는 window 객체를 가리키고, Node.js 환경에서는 global 객체를 가리킵니다 **

 

<함수에 this 사용>

함수 내부에서 사용될 때, this는 일반적으로 전역 객체를 가리킵니다.

 

< 엄격 모드(strict mode) 함수>

엄격 모드(strict mode)에서 함수 내에서 this는 undefined가 됩니다.

 

<이벤트 리스너에 this 사용>

이벤트 발생 시, this는 이벤트를 발생시킨 요소를 가리킵니다.

console.log 내용 확인 하면 'this in a event'이 보이게 됩니다. 

 

<Explicit binding>

call(), apply(), bind()와 같은 메서드를 사용하면 this를 원하는 객체로 재할당할 수 있습니다.

 

<this 키워드의 우선순위는 다음과 같습니다>
1. 자바스크립트 bind() 메서드
2. 자바스크립트 call() 및 apply() 메서드
3. 자바스크립트 객체 메서드
4. 자바스크립트 전역 스코프

 

참고 자료 :
https://www.freecodecamp.org/news/the-this-keyword-in-javascript/

 

How to Use the "this" Keyword in JavaScript

Hey everyone! In this article we're going to talk about the THIS keyword in Javascript. This used to be a concept that confused me a little bit, so I'll try to break it down for you so you can understand its uses and in what situations can it be usef...

www.freecodecamp.org

https://www.geeksforgeeks.org/javascript-this-keyword/

 

JavaScript this Keyword - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

https://www.w3schools.com/js/js_this.asp

 

W3Schools.com

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com