JavaScript - 스코프(Scope)와 클로저(Closure)
포스트
취소

JavaScript - 스코프(Scope)와 클로저(Closure)

스코프란 선언된 변수가 접근 가능한 범위를 의미하며 크게 전역 스코프지역 스코프로 나뉜다.

전역 스코프(Global Scope)

변수를 어떠한 함수에도 속하지 않게 중괄호 바깥에 선언하면, 전역 스코프가 되어 코드 내의 어느 곳에서든 변수를 접근할 수 있다.

`const text = "Hello World!"

function hello() {
    console.log(text);
}

hello(); // Hello World!부분의 경우 변수는 지역 스코프로 선언하게 된다. 
console.log(text); // Hello World!`

전역 스코프로 선언한 변수는 코드가 길어질 경우 같은 이름의 변수를 중복 선언하거나, 함수가 의도치 않게 값을 바꿔버리거나 하는 등으로 충돌이 발생할 수 있으므로 특수한 경우가 아니면 전역 스코프로 선언하지 않는 것이 좋다.

지역 스코프(Local Scope)

함수 안에서 선언하는 모든 변수는 지역 스코프이다. 지역 스코프는 다시 함수 스코프와 블록 스코프로 나뉘어지는데, 함수 스코프 변수는 그 함수 밖에서, 블록 스코프 변수는 중괄호 밖에서 접근할 수 없다.

`function hello() {
    const text = "Hello World!"
    console.log(text);
}

hello(); // Hello World! 
console.log(text); // 에러`
This post is licensed under CC BY 4.0 by the author.

ejs 주석 활용하기

JavaScript - let, var, const의 차이

Comments powered by Disqus.