TIL - Window global object

Minsoo·2021년 7월 14일
0

TIL

목록 보기
1/8
post-thumbnail

☄️Window global object

전역객체 global object

자바스크립트는 본래 웹 브라우저에서 사용하려고 만든 언어입니다. 이후 진화를 거쳐 다양한 사용처와 플랫폼을 지원하는 언어로 변모하였습니다.

자바스크립트가 돌아가는 플랫폼은 호스트(host) 라고 불립니다. 호스트는 브라우저, 웹서버, 심지어는 커피 머신이 될 수도 있습니다. 각 플랫폼은 해당 플랫폼에 특정되는 기능을 제공하는데, 자바스크립트 명세서에선 이를 호스트 환경(host environment) 이라고 부릅니다.
👉 전역객체는 코드가 실행되기 이전 단계에 자바스크립트 엔진에 의해 어떤 객체보다 먼저 생성되는 특수한 객체.
👉 어떤 객체에도 속하지 않는 최상위 객체.
👉 자바스크립트 호스트 환경에 따라 전역객체의 이름이 달라지는데, 브라우저환경에서는 window, node.js환경에서는 global.
👉 전역객체는 모든 표준 빌트인객체와 호스트객체를 프로퍼티로 가지고 있음

window global object

👉 아래 그림은 호스트 환경이 웹 브라우저일 때, 사용할 수 있는 기능
👉 최상단엔 window라 불리는 ‘루트’ 객체가 있습니다. window 객체는 2가지 역할을 합니다.

👉 전역 객체 챕터에서 설명한 바와 같이, 자바스크립트 코드의 전역 객체입니다.
'브라우저 창(browser window)'을 대변하고, 이를 제어할 수 있는 메서드를 제공합니다.
👉 브라우저 환경에서는 DOM, BOM, Canvas, XMLHttpRequest 등 클라이언트 사이드 web api를 호스트 객체로 제공.

👉 브라우저에서 window는 최고의 global obj
👉 우리가 아무런 obj를 지정한 것이 아니라면 global object인 window가 자동으로 obj로 설정된다.

window.innerHeightinnerHeight는 같음

👉 이렇게 브라우저에는 우리가 사용할 수 있는 기본 내장 API를 제공한다. 우리는 이를 호출하여 활용할 수 있음.
👉 var 변수와 선언하지 않은 변수에 값들은 전역변수이다.

var 변수 선언 = 전역 변수

var foo = 1; 
console.log(window.foo); 

선언하지 않는 변수에 값 (암묵적) = 전역변수

bar = 1; 
console.log(window.bar); 

전역함수

function baz() { return 3; } 
console.log(window.baz()); 

👉 let,const 키워드로 선언한 전역변수는 전역객체의 프로퍼티가 아님.!!

let foo = 1;
console.log(window.foo);  안된다. !!!

참고링크
https://ko.javascript.info/browser-environment
전역객체 https://ko.javascript.info/global-object

profile
Hello all 👋🏻 📍London

0개의 댓글