본 내용은 Udemy의 클린코드 자바스크립트 강의를 토대로 작성하였습니다.
1. window vs. global
- 둘 다 최상위 공간을 의미(전역 공간)
- window: 브라우저에서의 전역 공간
- web api 명세가 존재
- setTimeout, setInterval, alert
- global: Node.js에서의 전역 공간
- 둘의 큰 차이는 없음
2. 전역 공간 오염
- var로 선언한 변수는 window 객체 안에 할당 됨(전역 공간)
- 전역 공간에 선언된 경우, 다른 js 파일에서도 접근 가능
- web api와 같은 식별자로 할당하는 경우, 덮어쓰기가 되어버림
- 전역 공간은 어디서나 접근이 됨
- 지역변수를 사용할 것
- window, global에 접근하여 조작하지 말기
- let & const 키워드를 사용하기
- IIFE, module, closure를 사용하여 스코프를 나누기
index.html
...
<script src='./index.js'></script>
<script src='./index2.js'></script>
</body>
index.js, index2.js
// index.js
var ex = '예시';
var setInterval = '덮어쓰기';
// index2.js
console.log(ex); // 예시
console.log(window.ex); // 예시
console.log(setInterval); // 덮어쓰기
console.log(window,setInterval); // 덮어쓰기
Reference
'programming study > JavaScript' 카테고리의 다른 글
클린코드 자바스크립트 - 변수(호이스팅 주의하기) (0) | 2022.12.14 |
---|---|
클린코드 자바스크립트 - 변수(임시변수 제거하기) (0) | 2022.12.14 |
클린코드 자바스크립트 - 변수(function scope & block scope) (0) | 2022.12.14 |
클린코드 자바스크립트 - 변수(var) (0) | 2022.12.14 |
기초 JS, CS 상식 - 모듈 (0) | 2022.11.19 |