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 설명이 필요하다.)
#javascript#생활코딩#codestates#전역객체#window#this#call#apply#객체#object
'Coding > Javascript' 카테고리의 다른 글
Javascript - 상속(inheritance)와 prototype(2) (1) | 2020.06.10 |
---|---|
Javascript - 상속(inheritance) 과 Prototype (1) | 2020.06.08 |
Javascript - 객체지향프로그램(Object Oriented program) (1) | 2020.06.05 |
Javascript - 재귀함수(recursion) (1) | 2020.06.03 |