scope
-
자바스크립트 스코프 scope - 스코프의 종류문제와 해결/javascript 2023. 4. 14. 07:59
알고있던것 스코프는 전역, 함수, 블록 스코프가 존재한다. 중괄호 안쪽영역과 바깥쪽영역은 다른 스코프다. 알게된것 스코프는 전역과 지역으로 구분할 수 있다. 지역은 함수의 내부 - 지역(local) 전역은 코드의 가장 바깥 영역 - 전역(global) 지역은 함수 body,본문 영역인데 여기서 지역 스코프를 만든다. 지역에 변수를 선언하면 지역 스코프를 갖는 지역변수 가 된다. 마찬가지로 전역에 변수를 선언하면 전역 스코프를 갖는 전역변수가 된다. 지역변수는 지역변수가 선언된 스코프에서 참조할 수 있다. 만약 중첩함수라면 하위 지역 (innerLocal)에서만 참조할 수 있다. 안쪽(inner)에 있는 지역에서는 바깥쪽에 선언된 지역변수를 참조할 수 있지만, 바깥쪽(outer)에 있는 지역에서는 안쪽에 ..
-
자바스크립트 스코프 scope - 식별자 결정문제와 해결/javascript 2023. 4. 12. 00:27
스코프는 함수 사용할 때 이미 경험했다. 함수 본문에 선언한 변수는 함수 밖에서는 참조할 수 없다. 하지만, 함수 본문 안에서 함수 밖의 변수는 참조할 수 있다. 함수 안쪽의 변수와 함수바깥쪽의 변수 이름이 같다면 어떤걸 참고하는지 궁금했다. 식별자 결정 1 const a = 20; 2 3 function findNumber() { 4 const a = 10; 5console.log(a); // 10 - 4번 라인의 a 참조 6 } 7 8 console.log(a); // 20 - 1번 라인의 a 참조 9 10 findNumber(); findNumber 함수 안쪽에 선언한 a,b는 같은 지역 스코프인 findNumber함수 안에서만 참조할 수 있다. 그런데 6번 라인에서 참조하는a는 4번과 1번중 어떤..