남고생들의 소소한 개발 일지
[js]전역객체, this 본문
전역객체
모든 객체는 이 전역객체의 프로퍼티이다.
먼저 간단한 예제를 보면
function test() {
alert('Hello?');
}
이런 자바스크립트의 소스코드가 있다. 여기서 alert를 실행하려면 함수를 호출시켜야하는데 보통
test();
라고 호출을 한다. 하지만 사실 test(); 앞에는
window.test();
window 라는 전역객체가 있다.
test는 window라는 전역객체의 메소드라고 볼 수 있다.
매번 window를 쓰는 것이 불편해 생략해도 함수를 호출시킬 수 있도록 암묵적으로 명시된다.
다른 예제로
var a = {'test':function(){
alert('Fi');
} }
a라는 변수는 test라는 메소드를 가지고 있다. a라는 윈도우 객체의 프로퍼티이다.
a.test();
이렇게 해서 함수를 호출한다면
window.o.test();
이렇게도 함수 호출이 가능하다.
This
함수 내에서 함수 호출 맥락이라고 한다. this는 이것이라고 하고, 맥락은 상황의 흐름이라고 한다. 그럼 자바스크립트에서 this는 상황 흐름에 따라 함수를 어떻게 호출하냐에 따라 가르키는 대상을 호출한다.
this는 전역객체인 window와 같다.
'프로그래밍 > JavaScript' 카테고리의 다른 글
| [JS] prototype (0) | 2019.10.31 |
|---|---|
| [JS] 상속 (0) | 2019.10.30 |
| [JS] 생성자와 NEW (0) | 2019.10.28 |
| [JS] arguments (0) | 2019.10.25 |
| [JS] 클로저 (0) | 2019.10.24 |