Coding/JavaScript

[JavaScript] 스코프

호밀이 2022. 5. 12. 15:08

스코프(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