async & defer / Strict Mode
Last updated
Last updated
Boolean 속성값으로 선언 시 자동으로 true 설정됨
외부 스크립트를 참조하는 경우에만 사용할 수 있으므로, src속성이 명시된 경우에만 사용할 수 있음
병렬구조로 HTML을 보여주면서 JS파일을 fetching(다운)
fetching이 완료되면 HTML 실행시키던 것 멈추고 다운로드된 JS파일을 executing(실행)
executing이 끝나면 나머지 HTML을 parsing
HTML을 parsing 하는 동안 script defer을 만나면 필요한 JS파일을 다 다운로드 받아 놓음
HTML parsing을 먼저해서 사용자에게 바로 페이지를 보여 줌
바로 이어서 다운로드 된 자바스크립트 실행
Why? 자바스크립트는 굉장히 유연하기에 개발자가 많은 실수를 할 수 있기 때문에 때론 위험할 수도 있음
ECMAScipt 5에 추가되어져 있고 기존에는 무시되던 에러들을 막아주므로, 자바스크립트 엔진이 좀 더 효율적이고 빠르게 분석할 수 있도록 함