js deep dive [13 scope]

2022. 10. 25. 14:15js

유효 범위

변수의 유효 범위 와 함수의 유효 범위를 따로 생각 해야 한다.

어떤 공간에 변수를 선언하면 지역 스코프를 갖는 지역 변수를 만들게 된다.

이때 지역 변수는 선언된 부분과 선언된 하위 부분에서 유효 하다.

스코프에서 알아야 할 가장 중요한 부분은

case 1 :

const print = "test";

function test() {
    const print = "value"; 
    function out() { 
        console.log(print); 
    }
    out();
}`  
function. out() {
    console.log(print);
}

case 2 :

const print = "test";

function test() { 
    const print = "value"; 
    out(); 
} 
function. out() { 
    console.log(print);
}

case 1 번과 case2 번의 결과를 살펴보면 우리는 확실히 다름을 알 수 있다.
함수의 호출을 했을때 자식단에 있는 함수를 호출하게 된다면 자식단에 있는 값을 기준으로 확인하고,
실행이 불가능하다면 부모단에 있는 녀석을 기준으로 확인 하는 듯 하다.

여기서 1 번의 경우
test();를 호출하게 된다면, value 가 출력되고
out() 을 호출하게 된다면, test 가 출력되지만.
2번의 경우
둘다 test가 출력되는것을 통해서
지역 에 선언된것이 어떻게 호출 하느냐 에 따라서 출력이 달라짐을 확인 할 수 있다.
이를 통해 나중에 사용할 this 에서 조금더 공부를 해야할 필요성을 확인 할 수 있었다.

'js' 카테고리의 다른 글

e2e test 란.  (2) 2022.10.29
돔, v8, node js 에서 간략히 공부한 내용.  (0) 2022.10.26
js deep dive [ 함수 마무리]  (0) 2022.10.25
js deep dive [12 함수 part 01]  (0) 2022.10.24
js deep dive [11장 정리 원시 값과 객체의 비교]  (0) 2022.10.24