RHS(Right-hand Search)와 LHS(Left-hand Search)
- 둘다 자바스크립트 엔진이 변수를 찾기 위해 수행하는 검색 과정
- Left, Right 을 나누는 기준은 대입 연산(=)의 방향
LHS
는 변수가 대입 연산자 왼쪽에 있을 때 수행RHS
는 변수가 대입 연산자의 왼쪽이 아닌 곳에 있을 때 수행
LHS
var a;
a = 1;
- 변수가 저장된 메모리 공간의 주소값을 찾는다.
- 변수를 찾지 못하고 글로벌 스코프까지 도달하면, 글로벌 스코프가 엔진이 검색하는 이름을 가진 새 변수를 생성하여 엔진에게 넘겨준다. (비엄격 모드일 경우)
RHS
var a = 1;
console.log(a);
- 특정 변수 값을 찾는다.
- 변수를 찾지 못하고 스코프 체이닝을 타고 올라가, 글로벌 스코프까지 도달하면
Reference Error
발생