Hoisting, TDZ / parameter, argument

2023. 7. 26. 19:41컴퓨터지식/기술면접

Hoisting 이란? TDZ란?

Hoisting

자바스크립트 코드 내 선언만 분리하여 엔진이 미리 메모리에 공간을 할당하여 선언부들이 코드의 최상단으로 끌어 올리는 것처럼 보이는 현상

TDZ

자바스크립트 변수 선언의 경우  var, let, const가 있는데 var는 호이스팅과 동시에 undefiend로 변수가 초기화 되지만 let, const와 같은 경우는 호이스팅 되어서 선언되더라도 초기화와 활당이 이루어지지 않기 때문에 초기화부분과 할당 부분의 코드라인이 실행되기 전까지 일시적으로 참조할수 없는 순간이 생깁니다. 이것을 템퍼럴 데드 존 이라고 부릅니다. 

 

parameter와 argument의 차이에 대해 설명해주세요.

parameter

  • 함수를 정의할 때 사용되는 변수를 매개변수, 파라미터

argument

  • 실제로 함수가 호출될 때 넘기는 값, 아규먼트