https://github.com/woowacourse-fe-study/havruta-frontend/discussions/30
- <script>
HTML 파싱이 중단되고, 스크립트를 즉시 가져오고 실행되며, 스크립트 실행 후 HTML 파싱이 다시 시작된다.
- <script async>
HTML 파싱과 병렬적으로 진행되며, 가능할 때 즉시 실행된다. (HTML 파싱이 끝나기 전)
스크립트가 페이지의 다른 스크립트들과 독립적인 경우에 async를 사용하는 편이다.
- <script defer>
HTML 파싱과 병렬적으로 가져오지만, 페이지 파싱이 끝나면 실행된다.
이것이 여러개 있는 경우, 각 스크립트는 페이지에 등장한 순서대로 실행된다.
스크립트가 완전히 파싱된 DOM에 의존하는 경우, defer 속성은 스크립트를 실행하기 전에 HTML이 완전히 파싱되도록 하는데 유용하다.
<body>의 끝부분에 일반 <script>를 두는것과 별 차이가 없다.
+ defer 스크립트는 document.write 를 포함하면 안된다.
+ src 속성이 없는 스크립트 tag는 async, defer 속성이 무시된다.
'개발 > FrontEnd Interview' 카테고리의 다른 글
[Frontend Interview] img 태그에 srcset 속성을 사용하는 이유는 무엇인가? (0) | 2021.01.08 |
---|---|
[Frontend Interview] 왜 css <link>를 <head>내에 선언하고, js <script>를 <body> 직전에 위치시키는 것이 좋은 방법인가? (0) | 2021.01.07 |
[Frontend Interview] cookie, sessionStorage, localStorage 들의 차이점은? (0) | 2021.01.06 |
[FrontEnd Interview] html data- 속성은 무엇에 좋은가? (0) | 2021.01.05 |
[FrontEnd Interview] 여러 언어로 되어 있는 컨텐츠의 페이지 제공하는법 (0) | 2020.12.31 |