Scope

Clare Lee·2021년 10월 18일
0

JS

목록 보기
2/2

Scope는 왜 있는걸까?
"만약 스코프가 없다면 어떻게 될까? 스코프가 없다면 같은 식별자 이름은 충돌을 일으키므로 프로그램 전체에서 하나밖에 사용할 수 없다. 디렉터리가 없는 컴퓨터를 생각해보자. 디렉터리가 없다면 같은 이름을 갖는 파일을 하나밖에 만들 수 없다. 스코프도 이와 같이 식별자 이름의 충돌을 방지한다."
-모던 자바스크립트 Deep Dive

  • Scope
    let or const are not in the window object even when placed in the global scope(but are accessable)

  • Global scope/Function scope/block scope
    w3schools scope
    mdn scope

  • 변수가 선언되는 곳이 scope의 기준

  • scope chain?

    이렇게 꼬리를 물고 계속 범위를 넓히면서 찾는 관계를 스코프 체인이라고 합니다.
    제로초 scope

  • lexical scoping

    많이들 헷갈리는 개념인데 스코프는 함수를 호출할 때가 아니라 선언할 때 생깁니다
    제로초 scope
    모던 자바스크립트 Deep Dive

정리

  • scope
  • global/function/block scope: 변수가 선언되었을 때
  • lexical scope: 변수는 호출 될 때가 아닌 선언 될 때 scope가 정해진다

퀴즈!
let, const and var

? scope chain과 lexical scoping의 차이점? 애초에 비슷한 것 같다고 생각하진 않지만 개념이 명확하지 않다.

profile
2년차 임베디드 SW 개발자

0개의 댓글