면접 질문 - 7일차(20190117)


자바스크립트 엔진


1. 자바스크립트 엔진이 무엇인가?

자바스크립트 코드를 해석하고 실행하는 프로그램(가상머신)이다.

2. 스크립트의 속성 중에서 async 와 defer의 공통점과 차이점은?

둘 다 HTML을 파싱하면서 동시에 스크립트를 가져온다. 예전과 다르게 HTML파싱 작업은 일시정지 되지않는다.

async는 HTML파싱 중에라도 스크립트가 준비되면 될 때마다 즉시 실행한다. 실행 순서가 다운로드 완료 시점에 의해 결정되므로 유의해야한다.
defer는 HTML파싱 중에 스크립트 다운로드가 완료되더라도 바로 실행되지 않고, HTML파싱(구문분석)이 완료되면 스크립트가 실행된다. async와는 다르게 호출된 순서대로 실행된다.