Window.self

Window.self 읽기전용 속성은 자기 자신을 WindowProxy로써 반환합니다. window.self로도 사용할 수 있고, self만 독립적으로 사용해 접근할 수 있습니다. 독립적으로 접근했을 때의 이점은 비 Window 환경인 웹 워커 등도 비슷한 표기법을 사용한다는 것입니다. 이 때 selfWindow 문맥에서는 window.self, 워커 문맥에서는 WorkerGlobalScope.self와 같습니다.

예제

아래와 같이 쓴 window.self는 그냥 window로 바꿨을 때와 동일합니다.

if (window.parent.frames[0] != window.self) {
    // this window is not the first frame in the list
}

이에 더해 브라우징 문맥의 현재 활성확된 문서에서는 window가 현재 전역 객체를 가리키므로 다음 네 줄의 코드는 모두 동일합니다.

var w1 = window;
var w2 = self;
var w3 = window.window;
var w4 = window.self;
// w1, w2, w3, w4 모두 일치. 그러나 워커에서는 w2만 작동함

명세

Specification Status Comment
HTML Living Standard
The definition of 'Window.self' in that specification.
Living Standard No difference from the latest snapshot HTML 5.1
HTML 5.1
The definition of 'Window.self' in that specification.
Recommendation No difference from the HTML5
HTML5
The definition of 'Window.self' in that specification.
Recommendation First snapshot containing the definition of Window.self.

브라우저 호환성

BCD tables only load in the browser

같이 보기