[HTML] script ํ๊ทธ์ defer, async
1. ๊ธฐ๋ณธ ๋์ ์๋ฆฌ
- ๋ธ๋ผ์ฐ์ ๊ฐ html์ ์ฝ๋ค๊ฐ (= html ํ์ฑ) script ํ๊ทธ๋ ์ธ๋ถ script๋ฅผ ๋ง๋๋ฉด, DOM ์์ฑ์ ์ค๋จํ๊ณ script๋ฅผ ๋ค์ด๋ฐ๊ณ ์คํํจ
// script ํ๊ทธ
<script></script>
// ์ธ๋ถ script
<script src="์ฃผ์" />
- script ์๋์ ์๋ DOM ์์์๋ ์ ๊ทผํ ์ ์์
- script ์ฉ๋์ด ํฐ ๊ฒฝ์ฐ, script๋ฅผ ๋ค์ด๋ฐ๋ ๋์ ์ฌ์ฉ์๋ script ์๋์ชฝ ํ์ด์ง๋ฅผ ๋ณผ ์ ์์
2. script๋ฅผ ํ์ด์ง ๋งจ ์๋ ๋ฐฐ์น
- 1๋ฒ์์ ์ธ๊ธ๋ ๋ถ์์ฉ์ ํด๊ฒฐ๋๋,
- html ๋ฌธ์ ์ฉ๋์ด ํฐ ๊ฒฝ์ฐ, html์ ๋ค์ด๋ฐ์ ํ script๋ฅผ ๋ค์ด๋ฐ์ผ๋ฉด ํ์ด์ง๊ฐ ๊ต์ฅํ ๋๋ ค์ง
3. defer ์์ฑ ์ฌ์ฉ (์ง์ฐ ์คํฌ๋ฆฝํธ)
<script defer src="์ฃผ์" />
- script๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋ค์ด๋ฐ์ผ๋ฏ๋ก html ํ์ฑ์ด ๋ฉ์ถ์ง ์์
- html ํ์ฑ์ด ๋๋ ํ, DOMContentLodaded ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ธฐ ์ ์ script๊ฐ ์คํ๋จ
- html ๋ฌธ์์ ์ถ๊ฐ๋ ์์๋๋ก script๊ฐ ์คํ๋จ
4. async ์์ฑ ์ฌ์ฉ (๋น๋๊ธฐ ์คํฌ๋ฆฝํธ)
<script async src="์ฃผ์" />
- defer ์์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก script๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋ค์ด๋ฐ์ผ๋ฏ๋ก html ํ์ฑ์ด ๋ฉ์ถ์ง ์์
- html ํ์ฑ ์๋ฃ ์ฌ๋ถ์ ์๊ด์์ด ๋ค์ด๋ก๋ ๋๋ฉด script๊ฐ ์คํ๋จ
- script๊ฐ ์คํ๋ ๋๋ html ํ์ฑ์ด ๋ฉ์ถค
- ๋จผ์ ๋ค์ด๋ก๋ ๋ script๊ฐ ๋จผ์ ์คํ๋จ
์ถ์ฒ