DOM

settings_applicationsEventTarget  >   settings_applicationsWindow

DOM

Writing
  • account_tree
  • bug_report

Objectwindow

웹 문서 실행 창을 다루는 스코프(scope)상의 최상위 객체이다.

설명

창이 생성되어지면 전역 객체 window가 자동으로 생성이 된다. 이 window는 자바스크립트의 실행 공간을 만들어주며 이것을 전역 공간이라 한다. 그래서 window를 전역 객체라 부른다.

window 전역 객체는 실행 컨텍스트에서의 최상위 스코프(scope:범위)이다. 실행시 다루어지는 모든 데이터들은 window 객체의 멤버가 된다.

전역 객체답게 window[[Prototype]] 멤버를 갖는 것 이외에 다양한 메소드와 프로퍼티들이 기본적으로 만들어진다.

기본으로 생성되어 사용되는 관계로 대문자로 시작하는 Window 인터페이스와의 관계에 대해 궁금증을 갖는 경우가 있다. Windowwindow의 관계에 대해서는 아래의 기술 문서를 참조하길 바란다.

하위 트리 탐색

  • Event Handlers

    • onafterprint

      문서가 인쇄를 시작하거나 인쇄 미리보기가 닫힌 후에 발생한다.
    • onanimationend

      Element 요소에서 애니메이션 완료 이벤트가 버블링시 발생한다.
    • onanimationiteration

      Element에서 CSS 애니메이션의 반복이 지정된 경우 매 반복이 끝날 때마다 버블링되어 발생한다.
    • onanimationstart

      Element에서 CSS 애니메이션이 시작되면 버블링되어 발생한다.
    • onauxclick

      Element에서 마우스의 기본 버튼이 아닌 버튼을 눌렀을 때 버블링되어 발생한다.
    • onbeforeprint

      문서가 인쇄되거나 인쇄를 위해 미리보기가 될 때 발생한다.
    • onbeforeunload

      window가 unload 되려고 할 때 발생한다.
    • onblur

      활성된 window에서 비활성으로 변경되는 경우 발생한다.
    • oncopy

      window내에서 복사(crtl + c)가 실행된 경우에 버블링되어 발생한다.
    • oncut

      window내에서 잘라내기(ctrl + x)가 실행된 경우에 버블링되어 발생한다.
    • onerror

       window에서 사용할 리소스 로드에 실패했거나 사용할 수 없는 경우 발생한다.
    • onfocus

      비활성된 window에서 활성으로 변경되는 경우 발생한다.
    • onhashchange

      URL의 조각 식별자(hash)가 변경되면 발생한다.
    • onkeydown

      Element에서 키보드의 키를 눌렀을 때 버블링되어 발생한다.
    • onkeypress

      Element에서 키보드의 특정 키의 누름을 유지할 때 버블링되어 발생한다.
    • onkeyup

      Element에서 키보드의 키를 누르고 있다가 뗐을 때 버블링되어 발생한다.
    • onload

      window에서의 load 이벤트는 HTML 문서가 웹브라우저에서 해석이 완료되는 시점에 발생한다.
    • onmessage

      연관된 또 다른 window와 서로 메시지를 주고 받는 경우 발생한다.
    • onmessageerror

      역직렬화할 수 없는 메시지를 수신할 때 window에서 발생한다.
    • onoffline

      웹브라우저가 네트워크에 대한 액세스 권한을 잃고 Navigator.onLine 값이 false로 전환되면 발생한다.
    • ononline

      웹브라우저가 네트워크에 액세스하고 Navigator.onLine의 값이 true로 전환되면 발생한다.
    • onpagehide

      세션 기록에서 다른 페이지를 표시하는 과정에서 웹브라우저가 현재 페이지를 숨기면 발생한다. 예를 들어서 사용자가 웹브라우저의 뒤로가기 버튼을 클릭하면 이전 페이지가 표시되기 전에 현재 페이지에서 페이지 숨기기 이벤트를 수신한다.
    • onpageshow

      세션 기록 항목에 의해서 페이지가 보여질 때 발생한다.
    • onpaste

      클립보드의 항목이 불여넣기 되어질 때 발생한다.
    • onpopstate

      사용자가 세션 기록을 탐색하는 동안 활성 기록 항목이 변경되면 발생한다.
    • onrejectionhandled

      Promise가 거부될 때 명시된 거부를 처리 후 전역(Window, Worker) 스코프로 전송된다.
    • onscroll

      프레임(window, <iframe>) 또는 크기가 고정된 요소내의 콘텐츠가 스크롤될 때 발생한다.
    • onstorage

      다른 문서의 컨텍스트에서 저장소 영역이 수정되면 발생한다.
    • ontransitioncancel

      CSS 전이 효과가 취소되었을 때 발생한다.
    • onunhandledrejection

      Promise가 거부될 때 명시된 핸들러가 없는 경우 전역(Window, Worker) 스코프로 전송한다.
    • onunload

      문서나 하위 리소스가 unload일 때 발생한다.
  • Methods

    • alert()

      확인 버튼과 선택에 따라 지정된 메시지를 가진 웹브라우저의 경고 대화 상자를 연다.
    • cancelAnimationFrame()

      window.requestAnimationFrame() 메소드에 의해서 동작이 실행될 때 반환된 실행 ID를 이용해서 동작을 취소 한다.
    • clearInterval()

      setInterval() 메소드로 등록되어 주기적으로 호출되는 동작을 취소할 수 있다.
    • clearTimeout()

      setTimeout() 메소드로 등록된 함수 실행 예약을 취소할 수 있다.
    • close()

      윈도우를 닫는다.
    • fetch()

      네트워크에서 리소스를 가져오는 프로세스를 응답을 사용할 수 있게 되면 Promise 객체를 반환한다. Promise의 Response은 요청에 대한 응답을 나타내는 객체로 해석된다.
    • getComputedStyle()

      인수로로 지정된 대상의 활성된 스타일시트를 계산한 후 모든 CSS 속성 값을 포함하는 읽기 전용 CSSStyleDeclaration 객체를 반환한다.
    • matchMedia()

      인수로 주어진 미디어쿼리 문자열의 분석 결과를 나타내는 MediaQueryList 객체를 반환한다.
    • open()

      새로운 윈도우를 생성한다.
    • requestAnimationFrame()

      웹브라우저에게 수행하기를 원하는 애니메이션을 알리고 다음 리페인트(repaint)가 진행되기 전에 해당 애니메이션을 업데이트하는 지정된 함수를 호출한다.
    • setInterval()

      설정된 시간 단위로 주기적으로 함수를 실행한다.
    • setTimeout()

      함수 실행을 지정된 시간에 예약하여 한번 실행한다. 예약이 완료되면 타이머 ID를 반환한다.
  • Properties

    • visualViewport

      • Event Handlers

        • onresize

          창 크기가 변경될 때 발생한다.
        • onscroll

          프레임(window, <iframe>) 또는 크기가 고정된 요소내의 콘텐츠가 스크롤될 때 발생한다.
      • Properties

        • height

          시각적 뷰포트의 높이를 CSS 픽셀 단위로 조회한다.
        • offsetLeft

          레이아웃 뷰포트의 왼쪽 가장자리에서 시각적 뷰포트 왼쪽 가장자리 오프셋을 CSS 픽셀 단위로 조회한다.
        • offsetTop

          레이아웃 뷰포트의 위쪽 가장자리에서 시각적 뷰포트 위쪽 가장자리 오프셋을 CSS 픽셀 단위로 조회한다.
        • pageLeft

          시각적 뷰포트 왼쪽 가장자리의 x 좌표를 CSS 픽셀로 조회한다.
        • pageTop

          시각적 뷰포트 위쪽 가장자리의 y 좌표를 CSS 픽셀로 조회한다.
        • scale

          시각적 뷰포트에 적용된 핀치 줌(pinch-zoom) 배율을 조회한다.
        • width

          시각적 뷰포트의 폭을 CSS 픽셀 단위로 조회한다.
    • window

      지정된 창의 window 객체를 참조한다.
    • closed

      참조한 창이 닫혔는지 여부를 boolean으로 조회한다.
    • console

      • Methods

        • dir()

          인수로 지정된 객체의 특성에 대한 트리 구조로 탐색할 수 있다.
        • log()

          인수로 지정된 객체 또는 변수를 콘솔에 출력한다.
    • customElements

      • Methods

        • define()

          새로운 사용자 지정 요소를 정의한다.
        • get()

          사용자 지정 요소의 생성자를 반환한다. 그러한 요소가 없는 경우 undefined를 반환한다.
        • upgrade()

          사용자 지정 요소가 자신의 shadow root에 연결되기 전에 직접 업그레이드 한다.
    • devicePixelRatio

      현재 표시 장치의 물리적 픽셀과 CSS 픽셀의 비율을 조회한다.
    • document

      • Events

        • abort

          리소스가 완전히 로드되지 않았을 때 발생한다. 오류의 결과는 아니다.
        • animationcancel

          CSS 애니메이션이 예기치 않게 중단이 되면 발생한다.
        • animationend

          CSS 애니메이션이 완료되면 발생한다.
        • animationiteration

          CSS 애니메이션의 반복이 지정되어 있는 경우 매 반복이 끝날 때 발생한다.
        • animationstart

          CSS 애니메이션이 시작되면 발생한다.
        • auxclick

          기본이 아닌 포인팅 장치 버튼(일반적으로 가장 왼쪽에 있는 기본 버튼 이외의 모든 마우스 버튼)을 눌렀다가 뗐을 때 발생한다.
        • copy

          선택 영역이 클립보드로 복사되었을 때 발생한다.
        • cut

          선택이 잘라내기 되어진 후 클립보드로 복사되었을 때 발생한다.
        • DOMContentLoaded

          HTML 문서가 완전히 로드되고 구문 분석이 될 때 발생한다.
        • drag

          사용자가 요소 또는 텍스트 선택을 드래그 할 때 100 밀리초(millisecond)마다 발생한다.
        • dragend

          드래그가 종료될 때 발생한다.
        • dragenter

          드래그한 요소 또는 텍스트 선택 항목이 유효한 드롭(drop) 대상에 들어가면 발생한다.
        • dragleave

          드래그한 요소 또는 텍스트 선택이 유효한 드롭 대상을 벗어나면 발생한다.
        • dragover

          요소 또는 텍스트 선택 항목이 유효한 드롭 대상 위로 드래그될 때 발생한다.
        • dragstart

          사용자가 요소 또는 텍스트 선택을 위한 드래그를 시작하면 발생한다.
        • drop

          요소 또는 텍스트 선택이 유효한 드롭 대상에 놓일 때 발생한다.
        • fullscreenchange

          지정 요소가 전체 화면 모드로 전환되거나 해제될 때 발생한다.
        • fullscreenerror

          전체 화면 모드로 전환하거나 외부에서 전환하려고 시도하는 동안 오류가 발생하면 요소로 전송되는 이벤트이다.
        • gotopointercapture

          요소가 setPointerCapture() 메소드를 사용하여 포인터를 캡처하면 발생한다.
        • keydown

          키보드의 키를 누를 때 발생한다.
        • keypress

          Shift, Fn, CapsLock 키를 제외한 키가 눌린 상태일 때 연속적으로 발생한다.
        • keyup

          키보드의 키를 누르고 있다가 뗐을 때 발생한다.
        • lostpointercapture

          캡처된 포인터가 해제될 때 발생한다.
        • paste

          클립보드의 항목이 불여넣기 되어질 때 발생한다.
        • pointercancel

          웹브라우저가 더이상 포인터 이벤트가 없을 가능성이 있다고 판단하거나 pointerdown 이벤트가 발생한 후 포인터를 사용하여 이동, 확대, 축소 또는 스크롤을 통해 뷰포트를 조작하는데 사용할 수 있다.
        • pointerdown

          포인터가 활성화되면 발생한다. 마우스의 경우 장치가 눌린 버튼이 없는 상태에서 하나 이상의 버튼이 눌려진 상태로 전환되면 발생한다. 터치의 경우 디지타이저와 물리적 접촉이 이루어지면 발생한다. 펜의 경우 스타일러스가 디지타이저와 물리적으로 접촉하면 발생한다.
        • pointerenter

          포인팅 장치가 hover를 지원하지 않는 장치의 pointerdown 이벤트의 결과를 포함하여 요소 또는 그 자손 중 하나의 적중 테스트 경계로 이동할 때 발생한다.
        • pointerleave

          포인팅 장치가 요소의 적중 테스트 경계를 벗어나면 발생한다. 펜 장치의 경우 스타일러스가 디지타이저에서 감지할 수 있는 hover 범위를 벗어날 때 발생한다.
        • pointermove

          포인터가 좌표를 변경하고 웹브라우저 터치 동작으로 취소되지 않은 경우 발생한다.
        • pointerout

          포인팅 장치가 요소의 적중 테스트 경계 밖으로 이동할 때 발생한다.
        • pointerover

          포인팅 장치가 요소의 적중 테스트 경계로 이동하면 발생한다.
        • pointerup

          포인터가 더 이상 활성화되지 않으면 발생한다.
        • readystatechange

          document의 readyState 속성이 변경되면 발생한다.
        • scroll

          프레임(window, <iframe>) 또는 크기가 고정된 요소내의 콘텐츠가 스크롤될 때 발생한다.
        • securitypolicyviolation

          정책과 버블(bubble)을 위반하는 요소에서 발생한다.
        • selectionchange

          문서에서 현재 텍스트 선택이 변경되면 발생한다.
        • selectstart

          사용자가 새 선택을 시작하면 발생한다.
        • transitioncancel

          CSS 전이 효과가 취소되었을 때 발생한다.
        • transitionend

          CSS의 전이 효과가 완료되었을 때 발생한다.
        • transitionrun

          CSS 전이 효과 실행을 시작했을 때 발생한다. 지연 시간이 설정된 경우 포함해서 시작된 경우에 발생한다.
        • transitionstart

          CSS 전이 효과가 실제로 시작되었을 때 발생한다.(지연이 있는 경우 지연시간 이후 실행될 때)
        • visibilitychange

          웹브라우저 탭의 콘텐츠가 visible 또는 hidden 상태로 변경될 때 발생한다.
        • wheel

          포인팅 입력 장치에서 휠 버튼을 회전할 때 발생한다.
      • Methods

        • createAttribute()

          새로운 Attr 객체를 생성한다.
        • createElement()

          매개 변수로 지정된 태그 명으로 새로운 Element 객체를 생성한다.
        • ExtensionsForHTMLDocument

          • write()

            현재 문서에 텍스트를 추가한다.
        • getElementById()

          id 속성 값을 이용해서 엘리먼트 객체를 찾아 반환한다.
        • getElementsByClassName()

          class 속성 값을 대상으로 엘리먼트 객체를 찾아 HTMLCollection으로 반환한다.
        • getElementsByName()

          문서내 태그의 name 속성 값을 사용하여 요소를 찾아 HTMLCollection으로 반환한다.
        • getSelection()

          사용자가 선택한 텍스트의 범위를 가진 Selection 객체를 반환한다.
      • Properties

        • all

          문서내 모든 요소들을 HTMLCollection으로 참조할 수 있다.
        • body

          현재 문서의 body 노드 객체를 참조한다.
        • characterSet

          현재 문서의 인코딩 방식을 가지고 있다.
        • childElementCount

          하위 요소의 개수를 가지고 있다.
        • compatMode

          문서가 Quirks 모드 또는 표준 모드에서 렌더링되는지의 여부를 나타낸다.
        • contentType

          문서의 MIME 유형을 확인할 수 있다.
        • cookie

          현재 문서와 관련된 쿠키를 조회하거나 설정한다.
        • currentScript

          현재 처리중이며 자바스크립트 모듈이 아닌 <script> 요소를 가지고 있다.
        • defaultView

          문서에 연결된 window 객체를 참조한다.
        • designMode

          전체 문서를 편집할 수 있는지 여부를 제어한다.
        • dir

          문서의 텍스트 방향성을 나타내는 DOMString을 가지고 있다.
        • doctype

          현재 문서와 연관된 DTD(Document Type Precent)를 가지고 있다.
        • documentElement

          문서의 루트 요소를 참조한다.
        • documentURI

          문서의 위치를 문자열로 조회할 수 있다.
        • domain

          현재 문서의 도메인을 조회한다.
        • embeds

          현재 문서에 포함된 <object>요소 목록을 HTMLCollection으로 참조한다.
        • fonts

          현재 문서의 FontFaceSet 인터페이스를 참조한다.
        • forms

          문서내의 <form> 요소를 HTMLCollection으로 참조한다.
        • head

          문서내의 <head> 요소를 참조한다.
        • images

          문서내의 <img> 요소를 HTMLCollection으로 반환한다.
        • implementation

          현재 문서와 연결된 DOMImplementation 객체를 참조한다.
        • readyState

          문서의 로드 상태를 나타낸다.
    • event

      현재 처리중인 Event를 조회한다.
    • frameElement

      문서내 <iframe>이나 <object>처럼 window를 포함한 요소를 조회한다.
    • frames

      현재 문서 내에 포함된 프레임의 window를 원소로 갖는 유사 배열을 조회한다.
    • history

      • Methods

        • back()

          웹브라우저 세션 기록의 바로 이전 페이지로 이동하도록 한다. history.go(-1)과 같다. 이전 페이지가 없는 경우 아무 동작도 발생하지 않는다.
        • forward()

          세션 기록의 바로 앞 페이지로 이동하는 비동기식 메소드이다.
        • go()

          웹브라우저가 가지고 있는 세션 탐색 이력을 기준으로 현재 페이지를 전환한다.
        • pushState()

          웹브라우저의 세션 기록 스택에 상태를 추가한다.
        • replaceState()

          세션 기록 스택의 제일 최근 항목을 주어진 데이터, 지정한 제목 및 URL로 대체한다. 데이터는 DOM이 불투명(opaque)하게 취급하므로 직렬화가 가능한 모든 JavaScript 객체를 사용할 수 있다.
      • Properties

        • length

          현재 페이지를 포함해 세션 기록의 길이를 정수로 조회한다.
        • scrollRestoration

          기록 탐색시 스크롤 위치 복원 여부를 명시한다. 가능한 값은 auto와 manual이다.
        • state

          기록 스택 최상단의 state를 나타내는 값을 조회한다. popstate 이벤트를 기다지리 않고 현재 기록의 state를 확인할 수 있다.
    • innerHeight

      창의 수평 스크롤바의 높이를 포함한 뷰포트 높이를 픽셀 단위로 조회한다.
    • innerWidth

      창의 수직 스크롤바의 폭을 포함한 뷰포트의 너비를 픽셀 단위로 조회한다.
    • length

      현재 창의 <iframe> 요소의 수를 조회한다.
    • localStorage

      • Methods

        • clear()

          저장소의 모든 키를 저장소에서 제거한다.
        • getItem()

          인수로 주어진 키에 연결된 값을 반환한다.
        • key()

          인수로 주어진 n에 대하여 저장소의 n 번째 항목의 키를 반환한다.
        • removeItem()

          인수로 주어진 키를 저장소에서 제거한다.
        • setItem()

          인수로 주어진 키와 값을 새로 저장하거나 재설정한다.
      • Properties

        • length

          Storage 객체에 저장된 데이터 항목의 개수를 조회한다.
    • location

      • Methods

      • Properties

        • hash

          '#' 문자 뒤 URL의 프래그먼트 식별자를 조회할 수 있다.
        • host

          URL에서 호스트 부분을 값으로 하는 DOMString이며 호스트명', :', 포트 번호를 포함하여 조회할 수 있다.
        • href

          완전한 URL을 값으로 하는 DOMString을 조회한다. 설정을 하는 경우에는 연결된 문서가 설정된 URL로 이동이 된다.
        • origin

          지정한 장소에 유래된 표준 형태의 값을 조회할 수 있다.
        • password

          도메인 이름 이전에 명시된 비밀번호를 조회할 수 있다.
        • pathname

          '/' 문자 뒤 URL의 경로를 조회할 수 있다.
        • port

          URL의 포트 번호를 조회할 수 있다.
        • protocol

          URL에서 프로토콜 부분을 값으로 하는 DOMString이며 ':'도 포함하여 조회할 수 있다.
        • username

          도메인 이름 이전에 명시된 사용자 명을 조회한다.
    • locationbar

      가시성을 확인할 수 있는 웹브라우저의 위치 표시줄(URL 주소 입력) 객체를 참조한다.
    • menubar

      가시성을 확인할 수 있는 웹브라우저의 메뉴바 객체를 참조한다.
    • name

      창의 이름을 조회하거나 설정한다. name 속성은 하이퍼링크를 열거나 Form을 전송할 때 대상(target)으로 사용된다.
    • navigator

      • Properties

        • userAgent

          접속 중인 웹브라우저의 사용자 에이전트 문자열을 조회한다.
    • opener

      window.open() 메소드를 사용하여 창을 열거나 target이 지정되어 있는 링크를 통해 창을 열었을 경우 창을 열어준 창의 window 객체의 참조를 조회한다.
    • outerHeight

      웹브라우저의 인터페이스가 포함된 전체 창 높이를 조회한다.
    • outerWidth

      웹브라우저의 인터페이스가 포함된 전체 창 폭을 조회한다.
    • pageXOffset

      수평 방향으로 스크롤 크기를 조회하는 scrollX의 별칭이다.
    • pageYOffset

      수평 방향으로 스크롤 크기를 조회하는 scrollY의 별칭이다.
    • parent

      현재 창의 부모 창의 window 객체를 참조한다.
    • screen

      • Methods

      • Properties

    • screenLeft

      웹브라우저의 좌측이 장치의 스크린에서 왼쪽으로 부터 떨어진 거리를 픽셀로 조회한다.
    • screenTop

      웹브라우저의 상단이 장치의 스크린에서 위쪽으로 부터 떨어진 거리를 픽셀로 조회한다.
    • screenX

      screenLeft의 별칭이다.
    • screenY

      screenTop의 별칭이다.
    • scrollX

      스크롤시 수평 방향 위치값을 픽셀 단위로 조회한다.
    • scrollY

      스크롤시 수직 방향 위치값을 픽셀 단위로 조회한다.
    • self

      현재 창 자신의 window 객체를 참조한다. 
    • sessionStorage

      • Methods

        • clear()

          저장소의 모든 키를 저장소에서 제거한다.
        • getItem()

          인수로 주어진 키에 연결된 값을 반환한다.
        • key()

          인수로 주어진 n에 대하여 저장소의 n 번째 항목의 키를 반환한다.
        • removeItem()

          인수로 주어진 키를 저장소에서 제거한다.
        • setItem()

          인수로 주어진 키와 값을 새로 저장하거나 재설정한다.
      • Properties

        • length

          Storage 객체에 저장된 데이터 항목의 개수를 조회한다.
    • status

      웹브라우저 하단의 상태 표시줄에 텍스트를 설정하거나 조회할 수 있다.
    • statusbar

      웹브라우저의 상태 표시줄의 가시성을 토글할 수 있는 상태 표시줄 객체를 참조한다.
    • toolbar

      웹브라우저의 도구 모음 가시성을 확인하는 데 사용할 수 있는 도구 모음 객체를 참조한다.
    • top

      창의 계층에서 최상위 창에 대한 window 객체를 참조한다.
  • Events

    • afterprint

      문서가 인쇄를 시작하거나 인쇄 미리보기가 닫힌 후에 발생한다.
    • animationcancel

      CSS 애니메이션이 예기치 않게 중단이 되면 발생한다.
    • animationend

      CSS 애니메이션이 완료되면 발생한다.
    • animationiteration

      CSS 애니메이션의 반복이 지정되어 있는 경우 매 반복이 끝날 때 발생한다.
    • animationstart

      CSS 애니메이션이 시작되면 발생한다.
    • auxclick

      기본이 아닌 포인팅 장치 버튼(일반적으로 가장 왼쪽에 있는 기본 버튼 이외의 모든 마우스 버튼)을 눌렀다가 뗐을 때 발생한다.
    • beforeprint

      문서가 인쇄되거나 인쇄를 위해 미리보기가 될 때 발생한다.
    • beforeunload

      window, document, resources가 unload되려고 할 때 발생한다.
    • blur

      요소가 비활성 될 때 이벤트 발생한다.
    • copy

      선택 영역이 클립보드로 복사되었을 때 발생한다.
    • cut

      선택이 잘라내기 되어진 후 클립보드로 복사되었을 때 발생한다.
    • DOMContentLoaded

      HTML 문서가 완전히 로드되고 구문 분석이 될 때 발생한다.
    • error

       window에서 사용할 리소스 로드에 실패했거나 사용할 수 없는 경우 발생한다.
    • focus

      창(window) 또는 요소(element)가 포커스(focus)를 받을 때 발생한다.
    • hashchange

      URL의 조각 식별자(hash)가 변경되면 발생한다.
    • keydown

      키보드의 키를 누를 때 발생한다.
    • keypress

      Shift, Fn, CapsLock 키를 제외한 키가 눌린 상태일 때 연속적으로 발생한다.
    • keyup

      키보드의 키를 누르고 있다가 뗐을 때 발생한다.
    • load

      웹 문서내 리소스와 그것에 의존하는 리소스들의 로딩이 완료되면 발생한다.
    • message

      웹 소켓을 통해서 메시지를 받았을 때 발생한다.
    • messageerror

      역직렬화할 수 없는 메시지를 수신할 때 window에서 발생한다.
    • offline

      웹브라우저가 네트워크에 대한 액세스 권한을 잃고 Navigator.onLine 값이 false로 전환되면 발생한다.
    • online

      웹브라우저가 네트워크에 액세스하고 Navigator.onLine의 값이 true로 전환되면 발생한다.
    • orientationchange

      장치의 방향이 바뀔 때 발생한다.
    • pagehide

      세션 기록에서 다른 페이지를 표시하는 과정에서 웹브라우저가 현재 페이지를 숨기면 발생한다. 예를 들어서 사용자가 웹브라우저의 뒤로가기 버튼을 클릭하면 이전 페이지가 표시되기 전에 현재 페이지에서 페이지 숨기기 이벤트를 수신한다.
    • pageshow

      세션 기록 항목에 의해서 페이지가 보여질 때 발생한다.
    • paste

      클립보드의 항목이 불여넣기 되어질 때 발생한다.
    • popstate

      사용자가 세션 기록을 탐색하는 동안 활성 기록 항목이 변경되면 발생한다.
    • rejectionhandled

      Promise가 거부될 때 명시된 거부를 처리 후 전역(Window, Worker) 스코프로 전송된다.
    • scroll

      프레임(window, <iframe>) 또는 크기가 고정된 요소내의 콘텐츠가 스크롤될 때 발생한다.
    • storage

      다른 문서의 컨텍스트에서 저장소 영역이 수정되면 발생한다.
    • transitioncancel

      CSS 전이 효과가 취소되었을 때 발생한다.
    • unhandledrejection

      Promise가 거부될 때 명시된 핸들러가 없는 경우 전역(Window, Worker) 스코프로 전송한다.
    • unload

      문서나 하위 리소스가 unload일 때 발생한다.

상속 계층 탐색

Window

EventTarget

  • Methods

    • addEventListener()

      EventTarget 객체를 상속받는 하위 요소들의 이벤트 리스너(Listener)를 등록한다. 참고로 Window 객체도 포함된다.
    • dispatchEvent()

      사용자가 생성한 이벤트를 전달한다. 코드에 의한 이벤트 트리거(trigger)에 사용된다.
    • removeEventListener()

      등록된 이벤트를 제거한다. 이벤트 타입, 등록된 함수, 등록시 제공했던 다양한 옵션과 일치된 경우에 이벤트를 제거한다.

Object

  • Methods

    • hasOwnProperty()

      객체가 특정 프로퍼티를 가지고 있는지를 블린 값으로 반환한다.
    • isPrototypeOf()

      해당 객체가 다른 객체의 프로토타입 체인에 속한 객체인지를 체크한다. 이 메소드는 instanceof 연산자와 함께 특정 프로토타입으로부터 상속된 객체만 작동하게 하려는(예를 들어 특정 메소드나 속성이 객체에 있다는걸 보장하려는 때) 코드에서 특히 쓸모가 많다.
    • propertyIsEnumerable()

      매개 변수의 속성이 열거가능한지 여부를 체크한다.
    • toLocaleString()

      객체를 나타내는 문자열을 사용 지역의 방식으로 출력이 된다. 이 메소드는 상속받은 모든 객체가 사용할 수 없고 아래와 같은 상속된 객체에 사용이 된다. Array.prototype.toLocaleString() Number.prototype.toLocaleString() Date.prototype.toLocaleString()
    • toString()

      객체를 나타내는 문자열을 반환한다.
    • valueOf()

      객체의 Primitive(원시) 값을 반환한다.
  • Properties

    • constructor

      객체의 생성자 함수를 참조한다.
    • __proto__

      상속된 [[Prototype]] 참조하거나 설정가능하며 일반적으로 실제 코드상에서는 잘 사용되지 않는다. ECMAScript에서 사용되지 않는 비표준이지만 최신 웹브라우저에서는 비공식적으로 지원하고 있다. 따라서 곧 표준 속성으로 지원될 확률이 높다.

기술 문서

Window는 window와 어떤 관계인가?

Windowwindow의 관계를 통상 생성자(constructor)와 인스턴스(instance)로 보고 있다. 다음과 같은 코드가 성립이 되는 것을 보면 분명한 사실이다.

window.constructor === Window // true
window instanceof Window // true

위의 코드를 보면 window의 생성자는 Window이며 windowWindow의 인스턴스가 맞다.

자바스크립트는 생성자에 의해서 인스턴스가 만들어지면 [[Prototype]] 체인이 복사되어 진다. 따라서 Windowwindow에게 동일한 작용을 할 것임을 예상할 수 있다. 추가적으로 최상위 스코프(Scope)를 가진 window 답게 사용되어지는 모든 객체와 함수, 변수등이 자동으로 멤버로 추가되어진다.

지원 웹브라우저