javascript에서 this는 기본적으로 window객체를 말한다.
하지만 this는 어떻게 호출되느냐에 따라 window가 아닌 경우가 있다.
1.
ex) obj.func() 처럼
객체.(점) 형태로 호출되었을 경우에는 this가 점 앞에있는 객체를 가리킨다.
2.
new 를 사용했을때 this는 객체 자기자신을 뜻한다.
3.
ex) func.bind({ name: ??? })() (bind함수는 선언까지만 해주기때문에 맨 뒤에 ()를 붙여주어야 호출이 같이 된다.)
ex) func.apply({ name: ??? })
ex) func.call({ name: ??? })
위처럼 호출했을때 객체 리터럴 안에 있는 내용이 this의 내용이 된다.
4.
???.addEventListener의 callback 안에서 this는 호출한 객체 즉 ???가 this가 된다.
5.
Class안에 method가 화살표 함수() => {} 형태이면 method안의 this가 window객체를 가리키지만 화살표 함수가 아니라면
method안의 this는 Class자기 자신을 가리킨다.
'javascript' 카테고리의 다른 글
window.scrollY? (0) | 2023.11.08 |
---|