[JavaScript] - ๊ธฐ๋ณธ ๋ฌธ๋ฒ (1)
๐ JavaScript๋ฅผ ์คํ ์ํค๋ ๋ฐฉ๋ฒ
1๏ธโฃ node ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉ
- ์ฐ์ ์คํ์ํฌ js ํ์ผ๋ก ์ด๋ํ๋ค.
1 2
# ex cd Desktop/my-app/next-study.js
- node ๋ช
๋ น์ด๋ก ์คํ
1
node next-study.js
2๏ธโฃ code runner ์ต์คํ ์ ์ ์ฌ์ฉ
- vscode Extensions -> code runner ๊ฒ์ ํ ์ค์น
- ์คํ์ํฌ js ํ์ผ์์ ์ถ๋ ฅํ ๊ฒฐ๊ณผ console.log ์์ฑ ํ
โง + space
3๏ธโฃ html ํ์ผ์์ script ํ๊ทธ๋ฅผ ์ฌ์ฉ
- ์ธ๋ถ ์คํฌ๋ฆฝํธ
- head ํ๊ทธ ์ฌ์ด
1 2 3 4 5 6
<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="js ํ์ผ ๊ฒฝ๋ก"></script> </html>
- ๐ฅ ์์ฑ
async
: async ์์ฑ์ ์ฌ์ฉํ๋ฉด ์คํฌ๋ฆฝํธ๋ ๋น๋๊ธฐ์ ์ผ๋ก ๋ก๋๋๋ค. ์ฆ, HTML ํ์ฑ์ด ์งํ๋๋ ๋์ ์คํฌ๋ฆฝํธ ํ์ผ์ ๋น๋๊ธฐ์ ์ผ๋ก ๋ค์ด๋ก๋ํ๊ณ , ๋ค์ด๋ก๋๊ฐ ์๋ฃ๋๋ฉด ๋ฐ๋ก ์คํ๋๋ค.defer
: defer ์์ฑ์ ์ฌ์ฉํ๋ฉด ์คํฌ๋ฆฝํธ๋ ๋น๋๊ธฐ์ ์ผ๋ก ๋ก๋๋์ง๋ง, HTML ํ์ฑ์ด ์๋ฃ๋ ํ์ ์คํ๋๋ค. ์ด๋ HTML ๋ฌธ์์ ํ์ฑ์ด ๋๋ ๋๊น์ง ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋์ง ์์์ ๋ณด์ฅํด์ค๋ค.์์ฑ ์คํ ์์ ์คํ ์์ ๋น๊ณ async ์คํฌ๋ฆฝํธ ๋ค์ด๋ก๋ ์๋ฃ ์ฆ์ ์คํ ์์ ๋ณด์ฅ ์๋จ ๋ ๋ฆฝ์ ์ธ ์คํฌ๋ฆฝํธ์ ์ ํฉ defer HTML ํ์ฑ ์๋ฃ ํ ์คํ ์์ ๋ณด์ฅ๋จ DOM ์์กด ์คํฌ๋ฆฝํธ์ ์ ํฉ - body ํ๊ทธ ์ฌ์ด
1 2 3 4
<body> <!-- body content --> <script src="js ํ์ผ ๊ฒฝ๋ก"></script> </body>
๐ฅ ๋ชจ๋ DOM ์์๊ฐ ํ์ฑ๋ ํ ์คํฌ๋ฆฝํธ๊ฐ ๋ก๋
- ๋ด๋ถ ์คํฌ๋ฆฝํธ
โก๏ธ ๐ฅ ๋ง ๊ทธ๋๋ก HTML ํ์ผ ๋ด๋ถ์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ค. ๊ณต๋ถํ ๋ ๋ง๊ณ ๋ ์ ๋งํ๋ฉด ์ฐ์ง๋ง์ !
4๏ธโฃ ์น ๋ธ๋ผ์ฐ์ ์ ๊ฐ๋ฐ์ ๋๊ตฌ โก๏ธ Console ํญ์์ ์์ฑํ๋ ๋ฐฉ๋ฒ
โ๏ธ ํฌ๋กฌ -> ๋ง์ฐ์ค ์ฐํด๋ฆญ -> ๊ฒ์ฌ -> Console ํญ
๐ ๋ณ์ / ์์
1๏ธโฃ ์์
- ์์๋ ๊ฐ์ ํ ๋ฒ ํ ๋นํ๋ฉด ๋ณ๊ฒฝํ ์ ์๋ ๋ณ์
const
ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ธ
2๏ธโฃ ๋ณ์
- ๋ณ์๋ ๋ณํ๋ ๊ฐ์ ์ ์ฅํ ์ ์๋ ๊ณต๊ฐ
- JavaScript์์ ๋ณ์๋ฅผ ์ ์ธํ ๋
var
,let
,const
ํค์๋๋ฅผ ์ฌ์ฉvar: ํจ์ ์ค์ฝํ, ์ฌ์ ์ธ ๊ฐ๋ฅ, ์ฌํ ๋น ๊ฐ๋ฅ
let: ๋ธ๋ก ์ค์ฝํ, ์ฌ์ ์ธ ๋ถ๊ฐ, ์ฌํ ๋น ๊ฐ๋ฅ
const: ๋ธ๋ก ์ค์ฝํ, ์ฌ์ ์ธ ๋ถ๊ฐ, ์ฌํ ๋น ๋ถ๊ฐ, ๋จ, ๊ฐ์ฒด๋ ๋ฐฐ์ด์ ๊ฒฝ์ฐ ๋ด๋ถ ๊ฐ์ ๋ณ๊ฒฝ ๊ฐ๋ฅ
3๏ธโฃ ์ฌ์ฉ ์ง์นจ
- var๋ ์ฌ์ฉํ์ง ์์
- let์ ์ฌํ ๋น์ด ํ์ํ ๋ ์ฌ์ฉ
- const๋ ์ฌํ ๋น์ด ํ์ ์์ ๋ ์ฌ์ฉ
- โ๏ธ ์ต๊ด์ ์ผ๋ก ์ฌ์ฉํ๋๋ก ๋ ธ๋ ฅ
๐ ๊ธฐํ ๊ธฐํธ
- ; -> ์ธ๋ฏธ์ฝ๋ก
- : -> ์ฝ๋ก
- โ -> ํฐ๋ฐ์ดํ
- โ -> ์์๋ฐ์ดํ
- `` -> ๋ฐฑํฑ
- [] -> ๋๊ดํธ
- {} -> ์ค๊ดํธ
- () -> ์๊ดํธ