암묵적 전역이란?

버건디·2022년 7월 11일
0

자바스크립트

목록 보기
2/31
post-thumbnail
post-custom-banner
function foo () {
	x = 30;
    y = 10;
}
	foo();

console.log(x+y); //40

전역 스코프에 x와 y에 변수의 선언이 존재 하지 않고 함수 스코프 안에 있기 때문에, ReferenceError를 발생시킬

것 같지만 자바스크립트는 암묵적으로 전역 객체에 x와 y의 프로퍼티를 동적 생성한다.

변수로 선언 된것이 아니라, 전역 객체의 프로퍼티가 된 것이다.

window.x; // 30
window.y; // 10

이런식으로 변수의 선언이 아닌 프로퍼티 값이 생성 되고, 이것을 마치 전역 변수 처럼 사용할 수 있다.

이것을 암묵적 전역이라고 한다.

그래서 var, let, const 키워드를 사용하여 변수를 선언한 다음 사용 해야 한다!

profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글