window 객체는 브라우저에 의해 자동으로 생성되며 웹 브라우저의 창(window)을 나타냅니다.
또한 window는 브라우저의 객체이지 JavaScript의 객체가 아닙니다.
Window Object
- window객체를 이용해서 브라우저의 창에 대한 정보를 알 수 있고, 이 창을 제어 할 수도 있습니다.
- var 을 통해 변수를 선언하거나 함수를 선언하면 이 window 객체의 프로퍼티가 됩니다.
(단 let, const는 불가능합니다, window 객체 내부의 블록에서 선언이 된것이므로 전역 객체로 활용할 수 없습니다)
Window Object 사용
종류가 너무 많아서 다 적기는 뭐하고..
몇개만 끄적여 보겠습니다.
1. BOM(Browser Object Model)
window.location
현재 URL에 대한 정보가 포함되어있습니다.
window.history
사용자가 방문한 URL을 배열의 형태로 보관
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;
'JavaScript > JavaScript' 카테고리의 다른 글
[JavaScript] 버블링(Bubbling)과 캡처링(Capturing) (0) | 2023.03.03 |
---|---|
[JavaScript] Node와 Element / DOM 탐색하기 / 유사배열객체 (0) | 2023.03.01 |
[JavaScript] document 객체 (1) | 2023.03.01 |
[JavaScript] Scope(스코프)와 Hoisting (호이스팅) (0) | 2023.03.01 |
[JavaScript] var, let, const (0) | 2023.03.01 |