Today I Learned (기술 면접)

Parkboss·2023년 3월 28일
0

기술면접

목록 보기
2/12

질문 1)Hoisting 이란? TDZ란?✅

대답 1)

1)호이스팅변수나 함수 선언이 최상단으로 끌어올려지는 현상입니다.
코드 내에서 변수와 함수가 선언되기 전에도 참조될 수 있다는것을 의미합니다.
var로 선언하면 호이스팅 시 undefined로 변수를 초기화하는 반면 letconst로 선언한 변수의 경우 호이스팅 시 변수를 초기화 하지 않습니다.

2) TDZ는 "Temporal Dead Zone" 이라는 뜻으로 일시적인 사각지대로, 해당 범위 내에서 변수가 선언되는 지점의 사이의 기간을 나타냅니다.
TDZ에 접근하게 되면 ReferenceError 에러가 발생합니다.
const, let은 초기화되 전까지 TDZ에 머물러 있기 때문에 레퍼런스 에러가 발생합니다.

console.log(x); // undefined
var x = 5;
console.log(x); /// 5
console.log(b); //Uncaught ReferenceError: Cannot access 'b' before initialization

let b = 1;

console.log(b);

질문 2)parameter와 argument의 차이에 대해 설명해주세요.✅

대답 2)

parameter는 매개변수로 함수를 정의할 때 사용되는 변수이고 argument는 인수로 실제로 함수가 호출될 때 넘기는 변수값입니다.
매개변수는 메서드 선언의 변수 목록이고 인수는 메서드가 호출될 때 전달되는 실제 값입니다.

profile
ur gonna figure it out. just like always have.

0개의 댓글