본문 바로가기
Coding/Javascript

Javascript - this

by z쿳쿳z 2020. 6. 7.
728x90
반응형

this는 아직 많이 사용을 안 했기 때문에, 이해가 조금 부족하다. 이번 글을 포스트 하면서 개념을 다시 상기하면서...

 

this를 설명하기 전에 먼저 전역객체에 대해 설명 하겠다.

 - 전역객체는 javascript에 있어서 최상위 부모 객체이다. 객체가 생성 될 수록 부모, 할머니, 조상까지 올라가는 최상위 위치에 있다.

 - 때문에 window라는 최상위 객체의 메소드인 console.log() 메소드를 사용할 수 있고, 사용할 때 window를 생략하고 사용할 수 있다.

 

this

 - this는 어떤 함수나 메소드들이 실행 될 때, 거기에 포함 되어 있는 객체를 가르킨다.

  *say라는 함수를 만들고 say를 실행하면 this를 console.log를 통해 console에 보여준다.

  *이때 this는 window를 가르키고 있다. 그 이유는 say라는 함수는 window라는 전역객체에 할당 되어 있기 때문이다.

  *객체에 할당을 해주지 않으면 전역객체에 자동으로 할당되는 것을 알 수 있고, 함수를 사용할 때 전역객체 window를 생략하고 사용 할 수 있다.

  *s라고 하는 객체만들었다. 여기게 say라는 property에 say 함수를 할당을 했다면, 이때의 this는 s 객체가 된다.

 

 

this가 사용되는 경우 5가지(from codestates)

 1. Global : window

 2. Function 호출 : window

 3. Method 호출 : 부모 object(생성자에서 this는 instance를 가르킨다.)

 4. Construction mode(new 연산자로 생성된 function 영역의 this) : 새로 생성된 객체

 5. call or apply 호출 : call, apply의 첫번째 인자로 명시된 객체(call 과 apply는 나중에 다루겠다. 설명하기 위해서는 상속과 prototype 설명이 필요하다.)

from codestates 3번 예제
from codestates 4번 예제
from codestates 5번 예제

#javascript#생활코딩#codestates#전역객체#window#this#call#apply#객체#object

728x90
반응형