Front-end/JavaScript
[JavaScript] 전역객체
Nave
2022. 5. 9. 00:36
1. 전역객체
전역객체를 사용하면 어디서나 사용가능한 함수를 만들 수 있다.
브라우저 환경에선 전역객체를 window, Node.js환경에선 global이라고 부른다.
//전역객체의 모든 프로퍼티는 아래와 같이 직접 접근할 수 있다.(밑의 두 코드는 동일하게 동작)
alert('Hello');
window.alert('Hello');
//브라우저에서 let 이나 const가 아닌 var로 선언한 전역함수나 전역변수는 전역객체의 프로퍼티가 된다.
var gVar = 5;
alert(window.gVar); // 5
//let을 사용하면 전역객체를 통해 변수에 접근할 수 없다.
let gLet = 5;
alert(window.gLet); // undefined
**중요한 변수라서 모든 곳에서 사용할 수 있게 하려면, 전역객체에 직접 프로퍼티를 추가해줘야 한다.
window.currentUser = {
name: "John"
};
//지역 변수 'currentUser'가 있다해도 지역 변수와 충돌 없이 전역 객체 window에서 이를 명시적으로 가져올 수 있음
**하지만 전역변수는 되도록 사용하지 않는 것이 좋다!! --> 에러를 테스트하기 어렵기 때문에...
2. 폴리필 사용하기
폴리필이란 변경된 자바스크립트의 표준을 준수할 수 있게 하는 기존 함수의 동작 방식을 수정하고나, 새롭게 구현한 함수의 스크립트를 말한다. ---> 도대체 뭔 소린지 모르겠다.
(( 사용중인 브라우저가 최신 자바스크립트 기능을 지원하는지 여부를 확인하는 스크립트))
if (!window.Promise) {
alert("구식 브라우저를 사용 중이시군요!");
}
// Promise를 지원하는지 여부를 테스트 하는 코드를 전역객체인 window를 이용하여 확인할 수 있다.