티스토리 뷰
this란?
현재 실행되는 코드의 문맥(context)에서 참조하는 객체를 가리킨다.
쉽게 말해, this는 “누가 나를 호출했는가?”에 대한 답변이라 볼 수 있다.
this는 함수가 어떻게 호출되는지에 따라 참조하는 객체가 달라진다.
1. 일반 함수 호출
2. 메소드 호출
3. 생성자 함수
4. 화살표 함수
5. 명시적 바인딩
크게 이런 호출 방식에 따라 객체가 달라지는데, 우선은 명시적 바인딩은 다음에 자세히 살펴보는 것으로 하고
나머지 4개 호출 방식에서 this가 어떻게 동작하는지부터 이해하자.
1. 일반 함수 호출
이 때 this 는 전역 객체를 가리킨다.
브라우저에서는 window를, Node.js 에서는 global을 가르킨다.
2. 메소드 호출
this 는 메소드를 호출한 객체를 가리킨다.
해당 메소드를 품고(?) 있는 객체를 가리킴.
3. 생성자 함수
new 키워드로 호출될 때, this 는 새로 생성된 객체를 가리킨다.
4. 화살표 함수
this 는 자신을 감싸는 외부 함수의 this 를 가리킨다.
화살표 함수는 자신만의 this를 생성하지 않고, 자신을 감싸고 있는 스코프의 this를 그대로 사용.
화살표 함수 예시:
const person = {
name: "Alice",
regularFunction: function() {
console.log("Regular function:", this.name);
const arrowFunction = () => {
console.log("Arrow function:", this.name);
};
arrowFunction();
}
};
person.regularFunction();
//Regular function: Alice
//Arrow function: Alice
화살표 함수는 this와 연결해서 따로 좀 더 봐야할 것 같다.
'JavaScript' 카테고리의 다른 글
[자바스크립트 기본 개념] 함수의 요소 (0) | 2024.09.20 |
---|---|
[자바스크립트 기본 개념] 생성자 함수는 왜 일반 함수와 구분 지어 부를까? (0) | 2024.09.20 |
[자바스크립트 기본 개념] 함수의 정의와 종류 (0) | 2024.09.19 |
[자바스크립트 기본 개념] 변수 (0) | 2024.08.30 |
[발표 스터디] this에 대해 설명하기 (0) | 2023.04.17 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- CSS
- :nth-child
- 변수스코프
- CSS선택자
- VirtualDom
- CSS게임
- 가상돔
- 상태변수
- CSSDiner
- labelfor
- 논리부정연산자
- translateX
- 즉시실행함수
- 프론트엔드독학
- 캐시오류
- JavaScript
- DOM자바스크립트
- 리액트
- 로컬스토리지오류
- 이벤트핸들링
- 화살표함수
- 비전공자
- 자바스크립트
- dom조작
- 체크박스오류
- 프로그래밍독학
- DOM제어
- DOMapi
- 코딩독학
- vanillajs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함