window 객체는 브라우저에 의해 자동으로 생성되며 웹 브라우저의 창(window)을 나타냅니다.

또한 window는 브라우저의 객체이지 JavaScript의 객체가 아닙니다.

Window Object

  1. window객체를 이용해서 브라우저의 창에 대한 정보를 알 수 있고, 이 창을 제어 할 수도 있습니다.
  2. var 을 통해 변수를 선언하거나 함수를 선언하면 이 window 객체의 프로퍼티가 됩니다.
    (단 let, const는 불가능합니다, window 객체 내부의 블록에서 선언이 된것이므로 전역 객체로 활용할 수 없습니다)

Window Object 사용

종류가 너무 많아서 다 적기는 뭐하고..

몇개만 끄적여 보겠습니다.

1. BOM(Browser Object Model)

window.location

현재 URL에 대한 정보가 포함되어있습니다.


window.history

사용자가 방문한 URL을 배열의 형태로 보관

페이지 이동을 한적 없는 경우
페이지 이동을 한 경우의 history

window.histroy.back() : 이전페이지로 돌아가기

window.history.forward() : 다음페이지로 가기

이외의 여러 동작이 있지만 생략.. 솔직히 아직 어디에 사용할지 모르겠습니다.

(브라우저 히스토리도 있다.)


window.navigator

브라우저에 대한 정보가 포함되어있다.


2. DOM(Document Object Medel)

document

윈도우의 프로퍼티이다

document 객체에 대해서는 다음 글에 자세히 작성해보겠습니다.

3. window는 모든 객체의 조상?

window의 메소드로 여러가지들이 있는데 예시로 isNaN을 사용해보겠습니다

let a = 123;
let b = 'hi';
console.log(isNaN(a));
console.log(window.isNaN(a));
console.log(isNaN(b));
console.log(window.isNaN(b));

결과

window. 을 생략해도 됩니다.

window는 모든 객체의 조상으로 전역객체라고 하는데, 모든 객체를 다 포함하기때문에 생략이 가능합니다.

개수가 너무많아 예시를 들기 뭐하지만 자주 사용하는 setTimeout, setInterval 등도 다들 생략해서 사용하고 계시죠?

window.setTimeout 이렇게 사용하시는분들 있으신가..

 

 

 

4. window 객체의 프로퍼티로 만들기

var hello = 'hello';
window.hello;

 

+ Recent posts