JavaScript - Scope and The Scope Chain

신동환·2022년 4월 2일

js

목록 보기
9/18

SCOPING AND SCOPE IN JAVASCRIPT: CONCEPTS

  • Scoping: 프로그램 변수의 구성 및 액세스 방법 by JavaScript engine
  • Lexical scoping: 함수 및 블록을 코드에 배치하여 제어
  • Scope: 특정 변수가 선언된 환경의 공간. 글로벌 범위(global scope), 함수 범위(function scope), 블록 범위(block scope)가 있다
  • Scope of a variable: 특정 변수에 액세스 할 수 있는 코드 영역

GLOBAL SCOPE

  • 기능 또는 블록 외부
  • 글로벌 범위에 선언된 변수는 어디에서나 액세스 할 수 있다

FUNCTION SCOPE

  • 선언된 변수는 외부가 아닌 내부 함수에서만 액세스 할 수 있다
  • local scope라고 불린다

BLOCK SCOPE(ES6)

  • 변수는 블록 내부에서만 액세스 할 수 있다
  • let, const 변수만 여기에 적용된다
  • 함수도 블록 범위로 지정된다 (오직 strict mode에서만 적용)

SCOPE CHAIN

const myName = 'Jonas';

function first() {
	const age = 30;
    
    if (age >= 30) {
    	const decade = 3;
        var millenial = true;
    }
    
    function second() {
    	const job = 'teacher';
        
        console.log(`${myName} is a ${age}-old ${job}`)
    }
    
    second();
}

first();

profile
안녕하세요! Hello, World!

0개의 댓글