본문 바로가기

javascript

[javascript] this?

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