TIL 2021-05-03 (자바스크립트 Type, 호이스팅, 실행 컨텍스트)

nyongho·2021년 5월 3일
0

오늘 배운 내용

목록 보기
5/40

TIL


What I Learn?

1) 자바스크립트의 타입

1-1. 자바스크립트의 Number Type 은 다른 언어들과 어떠한 차이점을 가지고 있는가?

타 언어에는 double, int 등 숫자 타입의 다양함이 존재하지만 자바스크립트에는 하나의 number 만 존재한다.

이는 정수만을 위한 타입이 따로 없고, 모든 수를 실수로 처리하기 위함이다.

1-2. 자바스크립트의 원시 타입의 종류는?

Boolean, String, Symbol, null, undefined, Number 총 6가지가 존재한다.

Undefined 는 애초에 초기화도 정의되지 않다는 것을 의미하고

Null 은 값은 값이지만 의미없는 특별한 값이 정의 되어있다는 것을 의미한다.

2) 자바스크립트의 호이스팅

변수를 선언하고 초기화 했을 때 선언 부분이 최상단으로 끌어올려지는 현상.

다른 것들은 적용되지 않지만 일반 함수선언문은 함수 호이스팅이 적용된다.


// 예제 1번 

console.log(a)

var a = 1;

// => undefined, 선언은 호이스팅 되었지만 값은 호이스팅 되지 않는다.

// 예제 2번

a()

function a () {
  return 1 + 1;
}


// => 2, 함수를 미리 실행하고 함수를 선언해도 호이스팅으로 인해 정상적으로 2 가 출력되는 모습이다.

3) 실행 컨텍스트에 대해

실행 컨텍스트는 자바스크립트 코드들이 실행되기 위한 환경이다.

컨텍스트에는 전역 컨텍스트, 함수 컨텍스트 두 가지가 존재한다.

  1. 전역 컨텍스트를 하나 생성 후, 함수를 호출할 때마다 함수 컨텍스트가 생성된다.
  2. 함수 컨텍스트 생성시 내부에 변수객체, 스코프 체인, this 가 생성된다.
  3. 컨텍스트 생성 후 함수가 실행되는데 해당 함수 내의 변수들은 모두 변수가 선언된 객체내에서 찾고 값이 없다면 스코프 체인에 따라 상위 컨텍스트로 올라가며 찾는다.
  4. 함수 실행이 마무리되면 해당 컨텍스트는 사라진다. 페이지가 종료되면 전역 컨텍스트가 사라진다.
profile
두 줄 소개

0개의 댓글