๐คทโ๏ธ ๋ณธ๋ก ์ ๋ค์ด๊ฐ๊ธฐ ์์
์น ๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด <script> ์์๋ฅผ ์ด์ฉํด์ HTML ๋ฌธ์ ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ฝ์ ํ๋ ๊ฒฝ์ฐ๊ฐ ํ์ฐ์ ์ผ๋ก ์๊ธฐ๊ธฐ ๋ง๋ จ์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์ <script> ์์๋ฅผ ์ข ๋ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด์.
๐คทโ๏ธ script ์์์ ์์น
๋ธ๋ผ์ฐ์ ๊ฐ javascript <script> ์์๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋์ง ์๊ฐํด ๋ณด์ ์ ์ด ์๋์? ๋ค๋ค ์์๊ฒ ์ง๋ง ๋ธ๋ผ์ฐ์ ๊ฐ HTML ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ๋ค๊ฐ <script> ์์๋ฅผ ๋ง๋๋ฉด src ์์ฑ์ ๋ช ์๋ ๊ฒฝ๋ก์ ํ์ผ์ด๋ script ๋ด๋ถ์ ์ฝ๋๋ฅผ ๋ด๋ ค๋ฐ์์ javascript ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
* ์ฌ๊ธฐ์ <script> ์์๊ฐ HTML ๋ฌธ์์์ ์ด๋์ ์์นํ๋์ง๊ฐ ์น ํ์ด์ง์ ๋ก๋ฉ ์๋์ ์ํฅ์ ๋ฏธ์น ์๊ฐ ์๋ค.
HTML์ ๋๊ธฐ์์ผ๋ก ํ์คํ ์ค์ฉ ์ฝ์ด๋๊ฐ๋ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค.
EX: ์๋์ ๊ฐ์ <script> ์์๊ฐ <body> ์์์ ์ค๊ฐ์ ์ค๊ฒ ๋๋ฉด ์ด๋ค ์์ผ๋ก ์ฝ์ด๋๊ฐ๊น?
<body>
<h2>A</h2>
<script src="./script.js"></script>
<h2>B</h2>
</body>
์ HTML ๋ฌธ์๋ ๋ธ๋ผ์ฐ์ ์์ ๋ค์๊ณผ ๊ฐ์ด ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌ๊ฐ ๋ฉ๋๋ค.
- <h2>A</h2>๊ฐ ํ๋ฉด์ ์ถ๋ ฅ๋จ
- script.js ํ์ผ์ ๋ด๋ ค๋ฐ์ ์๋ฐ์ค๋ฆฝํธ ์ฝ๋๊ฐ ์คํ๋จ
- <h2> B </h2>๊ฐ ํ๋ฉด์ ์ถ๋ ฅ
* HTML์ ๋๊ธฐ์์ผ๋ก ํ์คํ์ค ์ฝ์ด๋๊ฐ๋ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค.
๐คทโ๏ธ defer vs async ์์ฑ?
์ ํต์ ์ผ๋ก script ์์๋ฅผ head ์์ ์์ ๋ฃ๋๋ก ๋ฐฐ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง๋ง ์ค์ ํ๋ก์ ํธ or UI & UX ์ธก๋ฉด์์ body ์์ ์ ์ผ ๋ง์ง๋ง์ script๋ฅผ ๋ฃ์ด์ ์ฌ์ฉ์์๊ฒ ์ต์ ํ๋ ์นํ์ด์ง ๊ฒฝํ์ ์ค ์ ์๋ค.
๋ฏธ๋ฆฌ HTML ๊ทธ๋ ค์ฃผ๊ณ script๋ฅผ ๋ ๋ ํ๋ ๋ฐฉ์์ด๋ค.
Defer ์์ฑ ์ ์
<script> ์์์ defer ์์ฑ์ ์ ์
<script defer src=”./”>
defer ์์ฑ์ ์ฌ์ฉํ๋ฉด HTML์ฝ๋๊ฐ ์ฒ๋ฆฌ๋๋ฉด์ ๋์์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ๋ ๋ด๋ ค๋ฐ๊ธฐ ๋๋ฌธ์ ์๋๋ฅผ ๊ฐ์ ํ ์ ์๋ค.
* script ํ์ผ์ด ํด ๊ฒฝ์ฐ defer ์์ฑ์ ํจ์จ์ ์ด๋ค.
Async ์์ฑ ์ ์
<script async src=”./”> defer ๋น์ทํ๊ฒ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค.
๐คทโ๏ธ defer vs async ๊ฒฐ๋ก
๊ทธ๋ผ ๊ฒฐ๋ก ์ ์ผ๋ก ์ด๋ค ์ํฉ์์ defer ์์ฑ์ ์ฌ์ฉํ๋ ๊ฒ ์ข๊ณ , ์ธ์ async ์์ฑ์ ์ฌ์ฉํ๋ ๊ฒ ๋์๊น? ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ค์ด๋ก๋ ์ธก๋ฉด์์๋ defer ์์ฑ๊ณผ async ์์ฑ์ ํฐ ์ฐจ์ด๋ ์๋ค. ๋ ๊ฐ์ง ๋ฐฉ์์์ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๋ HTML ์์๋ฅผ ํ๋ฉด์ ๊ทธ๋ ค์ฃผ๋ฉด์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ค์ด๋ก๋ํ๊ธฐ ๋๋ฌธ์ด๋ค.
ํ์ง๋ง ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋์ ์คํ ์ธก๋ฉด์์ ์์ ๋๋ defer ์์ฑ๊ณผ async ์์ฑ ๊ฐ์๋ ์๋ฏธ์๋ ์ฐจ์ด๊ฐ ์๊ธด๋ค. ์๋ก ์ฐ๊ด์ด ์๋ ์ฌ๋ฌ ๊ฐ์ ์คํฌ๋ฆฝํธ ํ์ผ์ ์์ฐจ์ ์ผ๋ก ์คํํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ defer ์์ฑ์ ์ฌ์ฉํ๋ ํธ์ด ์์ ํ๋ค. ์๋ํ๋ฉด defer ์์ฑ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ HTML ๋ฌธ์์ ๋ํ๋ ์์๋๋ก ์คํ์ ํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.
URL์ธ์ฝ๋ฉ & ๋์ฝ๋ฉ ํด๋ณด๊ธฐ
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฐ์คํฌ๋ฆฝํธ] ํ์ฉ๊ฐ์น๊ฐ ์ข์ ๋ด์ฅํจ์์ every(), some() ํจ์์ ๊ฐ๋ ๋ฐ ํ์ฉ๋ฒ (0) | 2024.06.18 |
---|---|
replaceAll is not a function ์ค๋ฅ ํด๊ฒฐ ๊ฒฝํ (0) | 2024.04.09 |
defaultPreventedย ์ด๋ฒคํธ ์์ฑ ๊ฐ๋ ์ด์ ๋ฆฌ (1) | 2024.03.13 |
javascript ์ค์์ดํผ(carousel) ๊ตฌํ (4) | 2023.04.06 |
javascript ๋ฌธ๋จ ์์ฑํ๊ธฐ (26) | 2023.03.02 |