1. 3 중첩 스코프
스코프는 확인자 이름으로 변수를 찾기 위한 규칙의 집합이다. 그러나 대개 고려해야 할 스코프는 여러 개이다.
하나의 블록이나 함수는 다른 블록이나 함수 안에 중첩 될 수 있으므로 스코프도 다른 스코프안에 중첩 될 수 있다.
따라서 대상 변수를 현재 스코프에서 찾지못하면 엔진은 바깥의 스코프로 넘어가서 변수를 찾거나 글로벌 스코프를 참조한다.
1. 4 오류
LHS와 RHS 두 검색 방식은 변수가 아직 선언되지 않았을 때 서로 다르게 동작한다.
RHS 검색이 중첩 스코프 안 어디에서도 변수를 찾지 못하면 엔진이 'ReferenceError'를 발생시킨다.
RHS 검색 결과 변수를 찾았지만 그 값을 가지고 불가능한 일을 했을 때, 함수가 아닌 값을 함수처럼 실행하거나 null이나 undefined 값을 참조할 때 엔진은 TypeError를 발생시킨다.
'Programming > JavaScript' 카테고리의 다른 글
래퍼 객체 (wrapper object) (0) | 2023.03.24 |
---|---|
[Javascript] Call by value vs Call by reference (0) | 2021.10.23 |
[Javascript] 기본형과 참조형 (0) | 2021.10.17 |
스코프란 무엇인가(2) (0) | 2020.08.15 |
스코프란 무엇인가(1) (0) | 2020.07.28 |