디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

LHS vs RHS - 2 -

아둔(220.117) 2016.02.11 22:58:12
조회 115 추천 0 댓글 1
														



leonard_special-8LHS와 RHS를 구분하는 것이 왜 중요할까?


이 두 종류의 검색 방식은 변수가 아직 선언되지 않았을 때(검색한 모든 스코프에서 찾지 못 했을 때)


서로 다르게 동작하기 때문이다.



1
2
3
4
5
6
function foo(a) {
    console.log(a + b);
    b = a;
}
 
foo( 2 );


b에 대한 첫 RHS 검색이 실패하면 다시는 b를 찾을 수 없다.

이렇게 스코프에서 찾지 못한 변수는 '선언되지 않은 변수'라 한다.

RHS 검색이 중첩 스코프 안 어디에서도 변수를 찾이 못하면 엔진이 'ReferenceError'를 발생시킨다.

여기서 중요한 점은 발생된 오류가 ReferenceError 타입이라는 것이다.


반면에, 엔진이 LHS 검색을 수행하여 변수를 찾지 못하고 꼭대기 층(글로벌 스코프)에 도착할 때 프로그램이

'Strict Mode'로 동작하고 있는 것이 아니라면, 글로벌 스코프는 엔진이 검색하는 이름을 가진 새로운 변수를 

생성해서 엔진에게 넘겨준다.

즉, "없어, 없었지만 내가 널 위해 하나 만들어주지"라고 생각하면 된다.


이제, RHS 검색 결과 변수를 찾았지만 그 값을 가지고 불가능한 일을 하려고 할 경우를 보자.


예를 들어, 함수가 아닌 값을 함수처럼 실행하거나 null이나 undefined값을 참조할 때 엔진은 TypeEroor를 발생시킨다.


ReferenceError는 스코프에서 대상을 찾았는지 와 관계있지만, TypeError는 스코프 검색은 성공했으나

결과값을 가지고 적법하지 않거나 불가능한 시도를 한 경우를 의미한다.


추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 시세차익 부러워 부동산 보는 눈 배우고 싶은 스타는? 운영자 24/05/27 - -
310 웹 개발자를 목표하고 있습니다 [3] 독학(203.229) 16.03.17 305 0
309 로딩 이거 갠춘하지 않냐 [3] ?(219.251) 16.03.15 180 0
308 아 자바스크립트 존나 어렵구만 [1] 뇌지랄갤로그로 이동합니다. 16.03.13 390 0
307 React js 공부해볼려하는데 어떠냐?? [1] ㅎㅎ(110.70) 16.03.12 212 0
305 온김에 라이브러리 또 추천함. 진리의 갓먼트.js [3] oniiion갤로그로 이동합니다. 16.03.05 287 0
304 덤으로 하나더 소개함 stape.js oniiion갤로그로 이동합니다. 16.03.05 150 0
303 요새 보고 있는거 소개 immutable.js oniiion갤로그로 이동합니다. 16.03.05 1343 0
301 지금이 컴퓨터 책 사기에 최적기 인거 같다. [3] (ㅇvㅇ)갤로그로 이동합니다. 16.03.04 278 0
300 오늘 공부한 일기 [2] (ㅇvㅇ)갤로그로 이동합니다. 16.03.02 201 0
299 이야 태양광신청 아슬아슬하게 했다. (ㅇvㅇ)갤로그로 이동합니다. 16.03.02 134 0
297 캔버스 좀 도와줘 ㅠㅠ [4] ㅇㅇㅇ(116.123) 16.02.28 160 0
292 인사이드 자바스크립트 읽다가.. 처음 막혔음 [9] 뇌지랄갤로그로 이동합니다. 16.02.27 381 0
291 meteor 하는 사람 있음? [4] 뇌지랄갤로그로 이동합니다. 16.02.27 151 0
290 javascript inside 프로토타입 체이닝까지 읽었음.. [6] 뇌지랄갤로그로 이동합니다. 16.02.27 184 0
289 틈틈히 그림판 만들고 있는데 [5] (ㅇvㅇ)갤로그로 이동합니다. 16.02.26 223 0
288 다 필요없고 onload 디씨에 신고할거임 ㅅㄱ [2] ㅇㅇ(39.7) 16.02.25 239 0
287 onload 어떻게 넣었냐? [1] (ㅇvㅇ)갤로그로 이동합니다. 16.02.25 349 0
285 onload 어케넣었냐? [2] ㅇㅇ(175.223) 16.02.24 221 0
284 jQuery와 animate 함수를 이용하여 스무스한 프로그레스바를 만들 [2] ?(219.251) 16.02.24 863 0
281 ☆★ 자바스크립트 갤러리에 경고합니다 !!! ★☆ [3] ?(219.251) 16.02.24 445 0
280 백엔드 php말고 머가 좋을까여 [4] 혤이갤로그로 이동합니다. 16.02.24 310 0
279 잘좀 합시다.. 잘좀!! [4] ?(219.251) 16.02.23 798 0
278 갤러리 잘 살릴 사람 있음? [7] (ㅇvㅇ)갤로그로 이동합니다. 16.02.22 269 0
277 으이구 갤좀 살려봐라 어엉?? [1] ?(219.251) 16.02.22 183 0
274 이벤트 리스너 문제좀 도와줘 [4] sort갤로그로 이동합니다. 16.02.14 162 0
272 DOM은 [1] (ㅇvㅇ)갤로그로 이동합니다. 16.02.14 129 0
271 dom이 명확하게 뭐야? [4] ㅁㅁ(219.249) 16.02.14 182 0
270 노드JS재단, ‘익스프레스’ 프레임워크에 기술 지원 [1] missingme갤로그로 이동합니다. 16.02.14 140 0
269 흐음 createElement가 더 빠르네.. [3] (ㅇvㅇ)갤로그로 이동합니다. 16.02.13 165 0
266 갸아아아악 구와아아아아악!! [3] linumix갤로그로 이동합니다. 16.02.13 162 0
264 상속받은 클래스에서 [4] sort갤로그로 이동합니다. 16.02.12 115 2
263 매니저 10일동안 안들어오면 갤 위임받을 수 있더라 [1] 혤이갤로그로 이동합니다. 16.02.12 117 0
262 function 으로 클래스 만들때 [8] sort갤로그로 이동합니다. 16.02.12 138 0
261 콜백지옥갤러리입니다 [2] ?(175.223) 16.02.12 397 0
260 베지어곡선 원리 [1] (ㅇvㅇ)갤로그로 이동합니다. 16.02.12 277 0
LHS vs RHS - 2 - [1] 아둔(220.117) 16.02.11 115 0
258 LHS vs RHS - 1 - [1] 아둔(220.117) 16.02.11 2903 0
257 머임 왜 갤아이디가 javascript가 아니고 jsjs ㅡㅡ [2] ?(219.251) 16.02.11 226 0
256 사랑니 때문에 돌겠다. [1] (ㅇvㅇ)갤로그로 이동합니다. 16.02.11 199 0
255 뻘글 [1] 혤이갤로그로 이동합니다. 16.02.10 158 0
254 처음왔다 ㅇㅇ 앞으로 자주올거임 헤헤 [2] 신입갤로그로 이동합니다. 16.02.09 106 0
253 자스 처음하는데 ㅁㅁ(219.249) 16.02.09 111 0
252 돌겠다 진짜 ㅋㅋㅋ [2] sort갤로그로 이동합니다. 16.02.09 171 0
251 jQuery로 잘 짜여진 코드를 짜기위해선 많은 경험이 필요하다 ㅁㄴㅇㄻ(112.160) 16.02.09 479 0
250 백본이 머길래 자꾸 백본하라는거임?? [4] 혤이갤로그로 이동합니다. 16.02.09 159 0
249 안녕 자바스크립트 물어볼게 [4] ㅁㅁ(219.249) 16.02.09 163 0
248 d3.js 좀 아는 사람없어? [3] sort갤로그로 이동합니다. 16.02.08 461 0
247 내가쓴글누가지웟냐 [3] 아둔(58.125) 16.02.08 156 0
246 개소리를 이어서 하자면 jquery뿐 아니라 백본입문을 권함 [2] oniiion갤로그로 이동합니다. 16.02.08 236 0
244 자바스크립트로 하다가 안되서 jquery알아보는중 [2] missingme갤로그로 이동합니다. 16.02.07 228 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2