JS 심화강의

동찌·2022년 12월 1일
0

내일배움단

목록 보기
24/56

undefined 와 null

undefined가 자동으로 부여되는 경우
1. 변수에 값이 지정되지 않은 경우
2. .이나[]로 접근하려 할 때, 해당 데이터가 존재하지 않는 경우
3. return문이 없거나 호출되지 않는 함수의 실행 결과

Array Method - forEach, map, filter, reduce 에서 값이

  • empty -> skip
  • undefined -> 수행

undefined는 직접 할당한 것인지 js 엔진이 반환한 것인지 모르기 때문에 직접 할당하는 것은 지양해야한다.


실행컨텍스트

: 실행 가능한 코드 가 실행되기 위해 필요한 환경정보들을 모아놓은 객체

실행 가능한 코드

  • 전역공간
  • eval()함수
  • 함수

실행컨텍스트에 담기는 정보

  • VariableEnvironment
  • LexicalEnvironment
  • ThisBinding

VE,LE

  • 담기는 내용은 동일

호이스팅과 스코프(HOISTING, SCOPE)

  • 호이스팅
    • 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미
    • 대상 : 매개변수 식별자, 함수 자체, var로 선언된 변수
    • JavaScript는 초기화를 제외한 선언만 호이스팅한다.
    	console.log(num); // 호이스팅한 var 선언으로 인해 undefined 출력
    		var num; // 선언
    		num = 6; // 초기화
    		```
  • 스코프
    • 식별자에 대한 유효범위(예: 지역변수를 함수 바깥에서 접근할 수 없다.)
    • 대부분의 언어에서 존재
    • 스코프 체인 : 식별자의 유효범위를 안에서부터 바깥으로 차례로 검색해나가는 것

정리할 때 mdn을 참고 많이함
분명히 한번 쯤 강의에서 들었던 것들인데 또 새롭다.

1개의 댓글

comment-user-thumbnail
2022년 12월 2일

ㅎㅎ같은 정의를 매번 봐도 새롭더라구요

답글 달기