async / defer
기본적으로 스크립트는 다운로드 받고 실행되는 동안 페이지 렌더링을 막는다.
async
스크립트가 병렬로 백그라운드에서 다운로드 된다.
먼저 다운로드된 스크립트가 우선적으로 실행된다(load-first order)
스크립트가 실행될 때 페이지 렌더링이 blocking된다.
DOM에 직접 연관이 없거나 다른 스크립트에 의존하지 않는 스크립트를 독립적으로 실행할 때 적합하다.
비동기 스크립트로 DOMContentLoaded 이벤트 콜백으로 로드를 보장할 수 없다.
defer
스크립트가 병렬로 백그라운드에서 다운로드 된다.
문서 다운로드와 파싱이 완료되어 DOM이 준비된 후 스크립트가 실행된다.
DOMContentLoaded 이벤트 발생 전에 스크립트가 실행된다.
Last updated