JS를 HTML 선언 위치 async vs defer

IvanSelah·2021년 9월 7일
post-thumbnail

body의 젤 끝부분에 작성

<body>
  <script src="main.js"></script>
</body>

단점 : 웹사이트가 자바스크립트에게 의존적이라면 HTML 파싱 후 실행되므로 퍼포먼스가 좋지 않음

<head>
  <script async src="main.js"></script>
</head>

=> 자바스크립트가 HTML이 파싱되기도 전에 실행
=> async의 경우 먼저 다운로드 되는 순서대로 됨

<head>
  <script defer src="main.js"></script>
</head>

✅ 가장좋은방법 head에 defer 사용
=> defer로 인해 자바스크립트 다운로드 받자 명령만 시켜놓고 HTML 파싱함
=> HTML 파싱이 다 끝나고 마지막에 자바스크립트 실행
=> DOMContentLoaded(document가 준비되었을 때) 이전에 실행됨
=> defer의 경우 정의한 순서대로 됨

profile
{IvanSelah : ["꿈꾸는", "끊임없이 노력하는", "프론트엔드 개발자"]}

0개의 댓글