스코프(Scope)
변수의 접근할 수 있는 '유효범위'를 나타낸다.
스코프의 접근 범위
- 전역 스코프(Global Scope): 가장 바깥의 범위
- 전역 스코프에서 선언한 변수는 지역 스코프에서 사용이 가능하다.
- 지역 스코프(Local Scope): 전역 스코프가 아닌 나머지 범위
- 지역 스코프에서 선언한 변수는 전역 스코프에서 사용이 불가능하다.
let hi = 'hello'; // 전역 스코프
function talkMessage(){ // 지역 스코프
let message = 'JavaScript';
return hi + ' ' + message;
}
console.log(talkMessage()); // 'hello JavaScript'
console.log(hi); // 'hello'
console.log(message); // 'Uncaught ReferenceError: message is not defined'
지역 스코프에 변수는 전역 스코프의 변수보다 더 높은 우선순위를 가지게 된다.
- 전역 스코프에 let name = 'cho'이고, 지역 스코프에 let name = 'kim'일 때, 지역 스코프에서 name을 return 하면 name이 출력된다.
- 전역 스코프에만 변수가 선언될 경우 지역 스코프에서 전역 변수를 사용한다.
// 전역 변수와 지역 변수의 이름이 같을 경우
let name = 'cho';
function nameChange(){
let name = 'kim';
return name;
}
console.log(nameChange()); // 'kim'
console.log(name); // 'cho'
// 전역 변수만 선언된 경우
let name = 'cho';
function nameChange(){
name = 'kim';
return name;
}
console.log(nameChange()); // 'kim'
console.log(name); // 'kim'
'Coding > JavaScript' 카테고리의 다른 글
[JavaScript] Local Storage (0) | 2022.05.22 |
---|---|
[JavaScript] 클로저 (0) | 2022.05.13 |
[JavaScript] 객체 (0) | 2022.05.10 |
[JavaScript] 배열 (0) | 2022.05.10 |
[JavaScript] 반복문(for, while) (0) | 2022.04.28 |