window 객체는 두 가지 역할을 하는데
전역 객체
라고도 부른다.브라우저 창(browser window)
을 의미하고, 이 창을 제어하는 다양한 메서드를 제공한다.
window
객체는 문자 그대로 window
라는 이름으로 접근할 수 있다.
//javascript window
브라우저 console에서 window
를 찍어보면,
> Window {parent: Window, opener: global, top: Window, length: 3, frames: Window, …}
와 같은 값을 얻을 수 있는데 이 속에 무수히 많은 프로퍼티
들이 존재하는 것을 확인할 수 있다.
우리가 작성하는 코드들은 대부분 다 window
객체의 프로퍼티가 된다는 사실을 기억해두자.
var myName = "Ssari";
function getMyName(){
return myName;
}
console.log(window.myName); //Ssarri
console.log(window.getMyname()); //Ssarri;
위와 같이 var
키워드로 변수를 선언하거나 함수를 선언하면, window
객체의 프로퍼티가 된다.
그럼에도 불구하고 우리는 변수와 함수를 선언하고서 앞에 window
를 붙이지 않는데, 말 그대로 window
는 전역 객체
로 페이지 내에 있는 모든 객체를 다 포함하고 있기 때문에 window
는 그냥 생략이 가능한 특징을 가지고 있다.
따라서 특별한 경우를 제외하면 window
객체를 직접 사용할 일은 드물다.
💡깨알상식
let
과const
로 선언한변수
는블록 스코프
이기 때문에window
객체 내부의 블록에서 선언된 것으로 평가되어전역 객체
의 프로퍼티로 활용되기는 어렵다.let myName = "Ssarri"; console.log(window.myName); //undefined
window
객체는 **브라우저의 창을 대변하고 다양한 메서드를 통해 이 창을 제어할 수 있다.
.close()
: 브라우저 창을 닫음.open()
: 브라우저 창을 엶.innerWidth
: 브라우저의 안쪽 넓이의 값.innerHeight
: 브라우저 안쪽의 높이값 반환.outerWidth
: 브라우저의 프레임을 포함한 넓이값 반환.outerHeight
: 브라우저의 프레임을 포함한 높이값 반환.scrollY
: 현재 스크롤된 브라우저의 Y축 거리값.scrollX
: 현재 스크롤된 브라우저의 X축 거리값📌예제
window.addEventListener('resize', e=>{ console.log(window.innerWidth); });