js deep dive [13 scope]
2022. 10. 25. 14:15ㆍjs
유효 범위
변수의 유효 범위 와 함수의 유효 범위를 따로 생각 해야 한다.
어떤 공간에 변수를 선언하면 지역 스코프를 갖는 지역 변수를 만들게 된다.
이때 지역 변수는 선언된 부분과 선언된 하위 부분에서 유효 하다.
스코프에서 알아야 할 가장 중요한 부분은
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 |