미가공 필기(JS)

[JS] Lexical Scope, Dynamic Scope

JoJobum 2022. 8. 8.

Lexical Scope

변수나 함수가 정의,선언된 곳의 context를 사용

Static Scope 로도 불림 

대부분 우리가 접하는 언어들이 사용 Ex) C/C++, JAVA, JS 등...

 

Dynamic Scope

 

변수나 함수가 불려진 곳의 context를 사용

보통 오래된 언어들이 사용하는 방식 ex) Perl, Bash Shell, APL 등...

 

var number = 1;
function a() {
  var number = 10;
  b();
}
function b() {
  console.log(number);
}

a();
b();

// Dynamic => 함수가 어디서 호출되었나에 따라 상위 스코프 결정
10   
1

// Lexical => 함수가 어디서 선언되었나에 따라 상위 스코프 결정
1 
1

 

반응형

'미가공 필기(JS)' 카테고리의 다른 글

Nest JS 공식문서 핥기(1)  (0) 2022.05.19
JS 비동기 처리  (0) 2022.05.19

댓글