Daily 기술 면접 Day 5

string_main·2022년 11월 9일
0

기술 면접

목록 보기
7/7
post-thumbnail

Q. 실행 컨텍스트에 대해 설명해주세요.

실행 컨텍스트는 JavaScript 엔진이 소스코드를 평가(evaluate)하고 실행(execute)하기 위해 필요한 환경을 제공하고 코드의 실행 결과를 관리하는 영역입니다. 실행 컨텍스트가 생성되는 과정은 소스코드 평가(Creation Phase)와 실행(Execution Phase)단계로 나누어 볼 수 있는데, 소스코드 평가 과정에서는 실행 컨텍스트를 생성하고 선언문만 먼저 실행해 실행 컨텍스트가 관리하는 스코프에 등록합니다. 평가 과정이 끝나면 런타임이 시작되고 소스코드 실행에 필요한 정보를 스코프에서 검색해서 얻습니다. 변수 값의 변경과 같은 실행 결과는 다시 스코프에 등록되는 방식으로 동작합니다.

Q. this에 대해 설명해주세요.

this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수입니다. 메서드는 자신이 속한 객체의 프로퍼티를 참조하고 변경할 수 있어야 하는데, 자신이 속한 객체의 프로퍼티를 참조하려면 자신이 속한 객체를 가리키는 식별자를 참조할 수 있어야 합니다. 객체 리터럴 방식으로 생성한 객체는 메서드 내부에서 재귀적으로 참조 가능하지만, 생성자 함수 방식으로 생성하는 경우는 객체가 생성되기 이전이기 때문에 식별자를 알 수 없어 자신을 가리키는 특수한 식별자인 this가 필요합니다. this는 어떤 위치에 있는지, 어디에서 호출하는지에 따라 참조 값이 달라지는 특성이 있어 사용 시 주의해야 합니다.

profile
FE developer

0개의 댓글