본문 바로가기
CodeStates/└ JavaScript(Pre)

Scope

by Dream_World 2020. 6. 25.

Scope 란 ?

  • 변수 접근 규칙에 따른 유효 범위

  • 변수는 어떠한 환경 내에서만 사용 가능

  • 프로그래밍 언어는 각각의 변수 접근 규칙을 가짐

  • 변수와 그 값이, 어디서부터 어디까지 유효한지 판단하는 범위

  • JavaScript는 기본적으로, 함수가 선언되는 동시에 자신만의 Scope를 가짐

 

Local Scope (지역 범위)

  • 지역 내에서만 접근

  • 지역 벗어난 곳은 접근이 불가능

 

Global Scope (전역 범위)

  • 전역 어디든 접근이 가능

 

Local Scope . Global Scope 구분

var global = 10;        // global Scope

function scope() {
  var local = 5;        // local Scope
}

console.log(global);    // 10
console.log(local);     // local 접근 불가능

 

변수 정의

  let const var
유효 범위 Block Scope Block Scope Function Scope
값 재정의 가능 불가능 가능
재선언 불가능 불가능 가능

                                              자료출처 : 코드스테이츠

 

var, let, const 변수 사용 시

// var 사용 시

var varTest = 1; {
  var varTest = 2;
}
console.log(varTest);
/* ================== */
// 결과 값 : 2


// Let 사용 시

let letTest = 1; {
  let letTest = 2;
}
console.log(letTest);
/* ================== */
// 결과 값 : 1


// const 사용 시

const constTest = 1; {
  const constTest = 2;
}
console.log(constTest);
/* ================== */
// 결과 값 : 1
 

 

 

Block Scope

  • 중괄호{}로 시작하고, 끝나는 단위

  • var로 선언한 변수는 Block Scope를 가지지 않음

 

 

Function Scope

  • Block Scope 중 function 범위를 말함

 

const

  • 값이 변하지 않는 변수, 즉 상수를 정의할 때 사용하는 키워드

  • let 키워드와 동일하게 Block Scope를 따름

  • 값을 재정의 하려고 하면 TypeError를 냄

 

'CodeStates > └ JavaScript(Pre)' 카테고리의 다른 글

객체지향 JavaScript  (0) 2020.06.28
Closure  (0) 2020.06.26
재귀 함수  (0) 2020.06.22
배열 다루기  (0) 2020.06.22
reduce  (0) 2020.06.20

댓글