HTML ์์ ์๋ฐ์คํฌ๋ฆฝํธ
JavaScript๋ ์ถํ ์ฆ์ ์น์ ์ง๋ฐฐ์ ์ธ ์ธ์ด์ธ HTML์ ํฌํจ๋์๋ค. ๋ท์ค์ผ์ดํ๋ JavaScript๊ฐ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ HTML ํ์ด์ง ๋ ๋๋ง์ ๋ฐฉํดํ์ง ์์ผ๋ฉด์ ๊ณต์กดํ ๊ธธ์๋ชจ์ํ๋ค. ์ด๋ฌํ ์ด๊ธฐ ์์ ์ ๋๋ถ๋ถ์ด ์ค๋๋ ๊น์ง ์ด์๋จ์๊ณ HTML ๋ช ์ธ์์ ๊ณต์์ ์ผ๋ก ๋ฌธ์ํ๋์๋ค.
<script> ์์#
JavaScript๋ฅผ HTML ํ์ด์ง์ ์ฝ์
ํ๋ ์ผ์ฐจ์ ์ธ ๋ฐฉ๋ฒ์ <script> ์์๋ฅผ ํตํ๋ ๊ฒ์ด๋ค. ์ด๋ ๋ท์ค์ผ์ดํ ๋ด๋น๊ฒ์ดํฐ 2์์ ์ฒ์ ๊ตฌํํ๊ณ , ์ดํ ๊ณต์ HTML ๋ช
์ธ์ ์ถ๊ฐ๋์๋ค.
| ์์ฑ | ๊ฐ | ์ค๋ช |
|---|---|---|
| async | async | ์คํฌ๋ฆฝํธ๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ์คํํ ๊ฒ์ธ์ง ๋ช ์ํจ. |
| charset | charset | src ์์ฑ์ผ๋ก ๋ช
์ํ ์ฝ๋์ ๋ฌธ์์
์ ์ง์ ํ๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ๋๊ฐ ์ด ์์ฑ์ ๊ฐ์ ๋ฌด์ํ๋ฏ๋ก ์ ์ฐ์ด์ง ์์. |
| defer | defer | ํ์ด์ง๊ฐ ์์ ํ ํ์ฑ๋ ๋๊น์ง ์คํฌ๋ฆฝํธ์ ์คํ์ ์ง์ฐ์ํฌ ๊ฒ์ธ์ง ๋ช ์ํจ. |
| src | URL | ์ธ๋ถ ํ์ผ์ ์์น๋ฅผ ์ง์ ํจ. |
| type | text/javascript (๊ธฐ๋ณธ๊ฐ) ๋๋ module | ์คํฌ๋ฆฝํธ ์ธ์ด์ ์ฝํ
์ธ ํ์
(๋ง์ ํ์
)์ ์ง์ ํจ. ์ด ์์ฑ์ ์๋ตํด๋ ๊ธฐ๋ณธ ๊ฐ์ด text/javascript ๋ก ์์ ํจ. ์ต๊ทผ ๋ธ๋ผ์ฐ์ ์์ module ์ ์๋กญ๊ฒ ์ง์ํ๊ธฐ ์์ํจ. |
<script> ์์๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ๋ค. ํ์ด์ง์ ์ง์ JavaScript ์ฝ๋๋ฅผ ์์ฑํ๊ฑฐ๋ ์ธ๋ถ ํ์ผ์์ ๋ถ๋ฌ์ฌ ์ ์๋ค. <script> ์์ ์์ ์ง์ JavaScript ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ธ๋ผ์ธ ์๋ฐ์คํฌ๋ฆฝํธ๋ผ๊ณ ํ๋ค.
์ธ๋ผ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์์ฑํ ๋๋ ๋ฌธ์์ด </script> ๋ ์ธ ์ ์๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฑํ๋ฉด์ ๋ฌธ์์ด </script> ๋ฅผ ๋ซ๋ ํ๊ทธ </script>๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฐ ๋ฌธ์ ๋ / ๋ฌธ์๋ฅผ ์ด์ค์ผ์ดํํด์ ํด๊ฒฐํ ์ ์๋ค.
<script type="text/javascript"> function sayScript() { alert("<\/script>"); }</script>JavaScript ์ฝ๋๋ฅผ ์ธ๋ถ์์ ๋ถ๋ฌ์ค๋ ค๋ฉด src ์์ฑ์ ์ฌ์ฉํ๋ค. src ์์ฑ์ ๊ฐ์ผ๋ก JavaScript ํ์ผ์ URL์ ์ง์ ํ๋ค.
<script type="text/javascript" src="example.js"></script>์ด ์ธ๋ถ ํ์ผ์๋ JavaScript ์ฝ๋๋ง ๋ค์ด๊ฐ๋ฉฐ <script> , </script> ํ๊ทธ๋ฅผ ์ฐ์ง์๋๋ค. src ์์ฑ์๋ ์ธ๋ถ ๋๋ฉ์ธ์ URL์ ์จ์ ๋ค๋ฅธ ๋๋ฉ์ธ์ ์๋ JavaScript ํ์ผ๋ ๊ฐ์ ธ์ฌ ์ ์๋ค.
โ๏ธ ๋ง์ฝ
<script>,</script>ํ๊ทธ ์ฌ์ด์ ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ ์๊ณsrc์์ฑ๋์ฌ์ฉํ๋ค๋ฉด, ๋ธ๋ผ์ฐ์ ๋ ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ด๋ ค๋ฐ์ ์คํํ๊ณ ์ธ๋ผ์ธ ์ฝ๋๋ ๋ฌด์ํ๋ค.
์ฝ๋๋ฅผ ๊ฐ์ ธ์จ ๋ฐฉ๋ฒ๊ณผ ๊ด๊ณ ์์ด <script> ์์๋ ํ์ด์ง์ ๋ํ๋ ์์๋๋ก ์คํ๋๋ค. ๋ํ ์น ๋ธ๋ผ์ฐ์ ๋ HTML์ ๋ ๋๋งํ๋ ๊ณผ์ ์์ <script> ์์๋ฅผ ๋ง๋๋ฉด ๋ด๋ถ์ ์ฝ๋ ์ ์ฒด๋ฅผ ํ๊ฐํ๊ธฐ ์ ์๋ ํ์ด์ง์ ๋๋จธ์ง ์ฝํ
์ธ ๋ฅผ ๋ถ๋ฌ์ค์ง๋ ์๊ณ ํ์ํ์ง๋ ์๋๋ค.

โ๏ธ ์ด๋ฅผ ๋๊ธฐ์ (Syncronous) ์ฒ๋ฆฌ๋ผ๊ณ ํ๋ฉฐ, ๋น๋๊ธฐ์ (Asyncronous)์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ์ํด์
async,defer์์ฑ์ ์ฌ์ฉํ๋ค.
ํ๊ทธ ์์น#
์ ํต์ ์ผ๋ก <script> ์์๋ ํ์ด์ง์ <head> ์์ ์์ ์ฐ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด์๋ค.
<!DOCTYPE html><html> <head> <title>Document</title> <script type="text/javascript" src="example1.js"></script> <script type="text/javascript" src="example2.js"></script> </head> <body> <!-- ํ์ด์ง ์ฝํ
์ธ --> </body></html>์ด๋ฐ ํ์์ ์ทจํ ๋ชฉ์ ์ CSS๋ JS ๊ฐ์ ์ธ๋ถ ํ์ผ์ ๋ํ ์ฐธ์กฐ๋ฅผ ํ๊ณณ์์ ๊ด๋ฆฌํ๊ธฐ์ํจ์ด์์ง๋ง, ์ด๋ ๊ฒํ๋ฉด ์ธ๋ถ ํ์ผ์ ์ ๋ถ ๋ด๋ ค๋ฐ๊ณ ํ์ฑํ๊ณ , ํด์์ ๋๋ผ ๋๊น์งํ์ด์ง ๋ ๋๋ง์ด ๋ฉ์ถ๊ฒ ๋๋ค. ์ด๋ฐ ์ด์ ๋ก ์ต์ ์น ์ ํ๋ฆฌ์ผ์ด์
์์๋ ์ผ๋ฐ์ ์ผ๋ก JavaScript ์ฝ๋๋ฅผ <body> ์์ ์์, ํ์ด์ง ์ฝํ
์ธ ๋ง์ง๋ง์ ์ด๋ค.
<!DOCTYPE html><html> <head> <title>Document</title> </head> <body> <!-- ํ์ด์ง ์ฝํ
์ธ --> <script type="text/javascript" src="example1.js"></script> <script type="text/javascript" src="example2.js"></script> </body></html>์ด๋ ๊ฒ ํ๋ฉด ๋ธ๋ผ์ฐ์ ๋ ํ์ด์ง ๋ ๋๋ง์ ๋ชจ๋ ๋ง์น ๋ค์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ๋ค.
defer#
HTML 4.01์์๋ <script> ์์์ defer ์์ฑ์ ์ ์ํ๋ค. defer ์์ฑ์ ๋ชฉ์ ์ํ์ด์ง ์ ์ฒด๋ฅผ ํ์ฑํ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํด๋ ์๊ด ์๋ค๊ณ ๋ช
์ํ๋ ๊ฒ์ด๋ค.
<script> ์์์ defer ์์ฑ์ ์ค์ ํ๋ฉด ์คํฌ๋ฆฝํธ ํ์ผ์ ์คํ(execution)์ ์ง์ฐ์ํจ๋ค. ๋ธ๋ผ์ฐ์ ๋ defer ๊ฐ ์ค์ ๋ <script> ์์๋ฅผ ๋ง๋๋ฉด ์ฆ์ ์คํฌ๋ฆฝํธ ํ์ผ์ ๊ฐ์ ธ์ค์ง๋ง(fetch) HTML ๊ตฌ๋ฌธ ๋ถ์(parsing)์ ์ผ์์ ์งํ์ง ์๊ณ , parsing์ด ๋๋๋ค์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๊ฒ ๋๋ค.
๋ํ ๋๋ถ๋ถ์ ์ต์ ๋ธ๋ผ์ฐ์ ๋ defer ์์ฑ์ด ์ ์ฉ๋ ์ฌ๋ฌ <script> ์์๊ฐ ์์๋ ํธ์ถ๋ ์์๋๋ก ์คํํ๋ ๊ฒ์ ๋ณด์ฅํ๋ค.
ํ์ง๋ง ๋ช๋ช ๋ธ๋ผ์ฐ์ ๊ฐ ์ด ์์ฑ์ ๋ฌด์ํ๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ์ฆ์ ๋ด๋ ค๋ฐ๊ณ ์ฆ์ ์คํํ๋ค . ๋ฐ๋ผ์ ์ง์ฐ์ํฌ ์คํฌ๋ฆฝํธ๋ ํ์ด์ง ๋งจ ๋ง์ง๋ง์ ๋๋ ํธ์ด ์ฌ์ ํ ์ต์์ด๋ค.
โ๏ธ
defer์์ฑ์ ์ธ๋ถ ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ถ๋ฌ์ฌ ๋๋ง ์ ํจํ๋ค.
<script defer src="script.js">
async#
HTML5์์๋ <script> ์์์ async ์์ฑ์ ๋์
ํ์๋ค. async ๋ ์ธ๋ถ ์คํฌ๋ฆฝํธ์๋ง ์ ์ฉ๋๊ณ <script> ์์๋ฅผ ๋ง๋๋ ์ฆ์ ์คํฌ๋ฆฝํธ๋ฅผ fetch ํ๋ค๋ ์ ์์ defer ์ ๋น์ทํ๋ค. defer ์ ๋ฌ๋ฆฌ async ๋ ์คํฌ๋ฆฝํธ๋ฅผ fetchํ๊ณ ๋์ ์คํ๊ฐ๋ฅํ ์์ ์ด ๋๋ฉด ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๊ณ , ๊ตฌ๋ฌธ ๋ถ์์ ์ผ์์ ์งํ๋ค.
์ฌ๋ฌ <script> ์์์ async ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ํธ์ถ๋ ์์๋๋ก์คํํ๋ ๊ฒ์ ๋ณด์ฅํ ์ ์๋ค. ๋จผ์ fetch๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋จผ์ ์คํํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ async ๋ฅผ ์ฌ์ฉํ ๋ ํ์ผ ์ฌ์ด์ ์์กด์ฑ์ด ์์ด์๋ ์๋๋ค.
async ์์ฑ์ ๋ชฉ์ ์ ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ชจ๋ ๋ด๋ ค๋ฐ์ ์คํํ ๋๊น์ง ๊ธฐ๋ค๋ฆด ํ์ ์์ด ํ์ด์ง ๋ ๋๋ง์ ์์ํด๋ ์ข์ผ๋ฉฐ, ์์ ์คํฌ๋ฆฝํธ ํ์ผ์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค์ ์๋์คํฌ๋ฆฝํธ ํ์ผ์ ๋ด๋ ค๋ฐ์ ์คํํด๋ ์ข๋ค๊ณ ๋ช
์ํ๋ ๊ฒ์ด๋ค.
<script async src="script.js">
XHTML#
XHTML์ HTML์ XML์ ์ ์ฉํ ๊ฒ์ด๋ค. XHTML์ HTML๋ณด๋ค ์๊ฒฉํ์ฌ <script> ์์์์ธ๋ผ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ธ ๋๋ ์ ์ฉ๋๋ค. ์๋์ ์ฝ๋๋ HTML์์๋ ์ ํจํ์ง๋ง XHTML์์๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
<script type="text/javascript"> function compare(a, b) { if (a < b) { alert("A is less than B"); } else if (a > b) { alert("A is greater than B"); } else { alert("A is equal to B"); } }</script>HTML์์๋ <script> ์์์ ์ฝํ
์ธ ๋ฅผ ํ์ฑํ๋ ํน๋ณํ ๊ท์น์ด ์์ง๋ง XHTML์๋ ํด๋น ๊ท์น์ด ์ ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. XHTML์ < ๊ธฐํธ๋ฅผ ํ๊ทธ์ ์์์ผ๋ก ๊ฐ์ฃผํด < ๊ธฐํธ๋ค์์ ๊ณต๋ฐฑ๋ฌธ์๊ฐ ์ฌ ์ ์๋ค๋ ๋ฌธ๋ฒ ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค.
์ด ๋ฌธ๋ฒ ์๋ฌ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์์ ํ ์ ์๋๋ฐ, ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ < ๊ธฐํธ๋ฅผ HTML ์ํฐํฐ <๋ก ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด ์ฝ๋๋ XHTML์์ ์คํ ๋์ง๋ง ๊ฐ๋ ์ฑ์ด ๋์๋ค.
<script type="text/javascript"> function compare(a, b) { if (a < b) { alert("A is less than B"); } else if (a > b) { alert("A is greater than B"); } else { alert("A is equal to B"); } }</script>๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ JavaScript ์ฝ๋๋ฅผ CDATA ์น์ ์ผ๋ก ๊ฐ์ธ๋ ๊ฒ์ด๋ค. XHTML๊ณผ XML์์ CDATA ์น์ ์ ํด๋น ์ฝํ ์ธ ๋ฅผ ์๋ ๊ทธ๋๋ก์ ํ ์คํธ์ด๋ฉฐ ํ์ฑํ๋ฉด ์๋๋ค๊ณ ๋ช ์ํ๋ค.
<script type="text/javascript"><![CDATA[ function compare(a, b) { if (a < b) { alert("A is less than B"); } else if (a > b) { alert("A is greater than B"); } else { alert("A is equal to B"); } }]]></script>XHTML ํธํ ์น ๋ธ๋ผ์ฐ์ ๋ ์ด ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐ๋์ง๋ง, ๋ง์ ๋ธ๋ผ์ฐ์ ๊ฐ XHTML ๋นํธํ์ด๋ฉฐ CDATA๋ฅผ ์ง์ํ์ง ์๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด CDATA ๋งํฌ์ ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฃผ์ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๋ค.
<script type="text/javascript">//<![CDATA[ function compare(a, b) { if (a < b) { alert("A is less than B"); } else if (a > b) { alert("A is greater than B"); } else { alert("A is equal to B"); } }//]]></script>์ด๋ ๊ฒ ํ๋ฉด XHTML์ ์ง์ํ์ง ์๋ ๋ธ๋ผ์ฐ์ ์, XHTML์ ์ง์ํ๋ ๋ธ๋ผ์ฐ์ ๋ชจ๋์์์ ๋์ํ๋ค.
์ธ๋ผ์ธ ์ฝ๋์ ์ธ๋ถ ํ์ผ#
HTML ํ์ผ์ ์ง์ JavaScript ์ฝ๋๋ฅผ ์์ฑํ๋ ์ธ๋ผ์ธ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ธ๋ถ ํ์ผ ์ค์์ด๋ ๋ฐฉ๋ฒ์ด ๋ ์ข์๊น? ์ผ๋ฐ์ ์ผ๋ก ์ธ๋ถ ํ์ผ๋ก ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฒ ์ฌ๋ก๋ก ๊ฐ์ฃผํ๋ค. ์ธ๋ถ ํ์ผ์ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ด๋ฆฌ๊ฐ ์ฝ๋ค - JS ํ์ผ์ ๋ชจ๋ ๋๋ ํฐ๋ฆฌ ํ๋์ ๋ชจ์๋๊ณ , ๋งํฌ์ ๊ณผ ๋ฌด๊ดํ๊ฒ JavaScript ์ฝ๋๋ฅผ ์์ ํ ์ ์๋ค.
์บ์ฑ - ๋ธ๋ผ์ฐ์ ๋ ์ธ๋ถ์์ ์ฐ๊ฒฐ๋ JS ํ์ผ์ ๋ชจ๋ ์บ์ํ๋ฏ๋ก, ์๋ก ๋ค๋ฅธ ํ์ด์ง์์ ๊ฐ์ ํ์ผ์ ์ฌ์ฉํ๋ค๋ฉด ํ ๋ฒ๋ง ๋ด๋ ค๋ฐ๊ณ ๋ค์ ์ฌ์ฉํ ์ ์๋ค. ๋ฐ๋ผ์ ์ฑ๋ฅ์ด ์ข์์ง๋ค.
๋ฏธ๋์๋ ์์ ํ๋ค - JS ํ์ผ์ ์ธ๋ถ์ ์ ์ฅํ๋ฉด ์์ ์ธ๊ธํ CDATA ์น์ ์ด๋ ์ฃผ์ํธ๋ฒ์ ์ฐ์ง ์์๋ ๋๋ค. ์ธ๋ถ ํ์ผ์ ๋ถ๋ฌ์ค๋ ๋ฌธ๋ฒ์ HTML์ด๋ XHTML์ด๋ ๋ชจ๋๋๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค.
<noscript> ์์#
<noscript> ์์๋ ๋ธ๋ผ์ฐ์ ๊ฐ JavaScript๋ฅผ ์ง์ํ์ง ์์ ๋ ๋์ฒด ์ฝํ
์ธ ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ง๋ค์ด์ก๋ค. <noscript> ์์๋ <script> ์์๋ฅผ ์ ์ธํ ๋ชจ๋ HTML ์์๋ฅผ ํฌํจํ ์ ์๋ค. <noscript> ์์๋ ๋ค์ ๋ ์ํฉ์์๋ง ํ์๋๋ค.
๋ธ๋ผ์ฐ์ ๊ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์ง์ํ์ง ์๊ฑฐ๋
๋ธ๋ผ์ฐ์ ์ ์คํฌ๋ฆฝํธ ์ง์์ด ๊บผ์ ธ ์์ ๋
์ด ๋ ์ํฉ์ ์ ์ธํ๋ฉด ๋ธ๋ผ์ฐ์ ๋ <noscript> ์์์ ์ฝํ
์ธ ๋ฅผ ํ์ํ์ง ์๋๋ค.
<!DOCTYPE html><html> <head> <title>Document</title> <script type="text/javascript" src="example1.js"></script> <script type="text/javascript" src="example2.js"></script> </head> <body> <noscript> <p>This page requires a JavaScript-enabled browser.</p> </noscript> </body></html>์์ฝ#
JavaScript๋ <script> ์์๋ฅผ ํตํด HTML์ ์ฝ์
๋๋ค. JavaScript๋ ์ธ๋ผ์ธ ๋๋ ์ธ๋ถ ํ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
์ธ๋ถ JS ํ์ผ์ ๋ถ๋ฌ์ค๋ ค๋ฉด
src์์ฑ์ ํ์ผ URL์ ์ด๋ค. ์ธ๋ถ ๋๋ฉ์ธ์ JS ํ์ผ๋ ๊ฐ์ ธ์ ์ธ ์ ์๋ค.๋ชจ๋
<script>์์๋ ํ์ด์ง์ ๋ํ๋ด๋ ์์๋๋ก ํด์๋๋ค.defer,async๋ฅผ ์ฌ์ฉํ์ง ์์๋ค๋ฉด<script>์์์ ์ฝ๋๋ฅผ ์์ ํ fetchํ๊ณ ์คํํ ์ดํ์๋ง๊ทธ ๋ค์<script>์์์ ์ฝ๋๋ฅผ ํด์ํ๊ณ ์ฒ๋ฆฌํ ์ ์๋ค.๋ํ
defer,async์์ฑ์ ์ฌ์ฉํ์ง ์์๋ค๋ฉด<script>์์๋ฅผ ๋ง๋ฌ์ ๋ ์ฝ๋๋ฅผ ์์ ํ fetchํ๊ณ ์คํ๋ ๋๊น์ง ํ์ด์ง ๋ ๋๋ง ์ญ์ ์ผ์ ์ ์ง๋๋ค. ์ด ๋๋ฌธ์<script>์์๋ฅผ ๋ณดํต ํ์ด์ง์ ์ฃผ์ ์ฝํ ์ธ ๋ค์,</body>ํ๊ทธ ๋ฐ๋ก ์์๋๋๋ค.defer์์ฑ์ ์คํฌ๋ฆฝํธ์ ์คํ์ ๋ฌธ์ ๋ ๋๋ง ์ดํ๋ก ๋ฏธ๋ฃฌ๋ค.async์์ฑ์ ํด๋น ์คํฌ๋ฆฝํธ๊ฐ fetch๋ ๋๊น์ง ๋ค๋ฅธ ์คํฌ๋ฆฝํธ๋ ๋ฌธ์ ๋ ๋๋ง์ ์ฐจ๋จํ์ง ์์๋ ๋๋ค๊ณ ๋ช ์ํ๋ค. ์ด ์์ฑ์ ๋งํฌ์ ์์๋๋ก ์คํ๋๋ค๋ ๊ฒ์ ๋ณด์ฅํ์ง ์๋๋ค.
์ฐธ๊ณ ์๋ฃ#
์คํฌ๋ฆฝํธ ํ๊ทธ์ CDATA ์ฌ์ฉ์ ๋ํด์ :: Outsider's Dev Story