# ๐ ์ถ์ฒ๋์
# ๋ ๋ฒจ1์์ ์ฝ์์ผ๋ฉด ํ๋ ์ถ์ฒ ๋์
๋ฏธ์ ๋ง ์งํํ๋ฉด ์ด๋ก ์ ์ธ ์ง์์ ๋นํ์ด ์๊ธธ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ฑ ์ ํตํด ํ์ต์ ๋ณํํ๋ ๊ฒ์ด ๋ ํจ์จ์ ์ธ ํ์ต๋ฐฉ๋ฒ์ด ๋ ์ ์๋๋ฐ์. ๊ฐ์ฅ ์ถ์ฒํ๋ ๋ฐฉ๋ฒ์ ๋ฏธ์ ์ ์งํํ๋ฉด์ ๋ชจ๋ฅด๋ ์ง์์ด ๋์ค๋ฉด ์ฑ ์ ์ฐธ๊ณ ํด ํด๋น ๋ด์ฉ์ ์ดํดํ๋ฉฐ ํ์ตํ๋ ๊ฒ์ ๋๋ค. ์๋๋ ๋ ๋ฒจ1์ ์งํํ๋ฉด์ ์ฐธ๊ณ ํ์๋ฉด ์ข์ ๊ธฐ๋ณธ ๋์ ๋ค์ ๋๋ค. ์ ๋๋ก ์ฒ์๋ถํฐ ๋๊น์ง ์ฝ์ผ๋ ค๊ณ ํ์์ง ๋ง์๊ณ , ๋ฏธ์ ์ ์งํํ๋ฉด์ ๋ชจ๋ฅด๋ ๊ฐ๋ ๋ค์ ์ฐ์ ์์๋ก ๋จผ์ ํ์ตํ์๋ ๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค ๐
# ์ฝ๋ฉ์ ์งํฑํ๋ ๊ธฐ์ (๋์์ค ํ๋ก์นด์ฆ ์ง์ | ๊น์์ญ ์ฎ๊น | ๋น์ ์ดํผ๋ธ๋ฆญ)
- ์ฝ๋ฉ์ ์งํฑํ๋ ๊ธฐ์ (opens new window)
- ์ฒ์๋ถํฐ ๋๊น์ง ๊ฐ๋ณ๊ฒ ์ฝ์ ์ ์๋ ์ฑ ์ ๋๋ค.
- ์ฑ ์ ๋๊น์ง ์ฝ์ ํ ๋ธ๋ก๊ทธ์ ๊ฐ์ ๊ณณ์ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ฒ์ ์ถ์ฒํฉ๋๋ค.
# ํ๋ก๊ฐ ๋๊ธฐ ์ํ ์น ๊ธฐ์ ์ ๋ฌธ(๊ณ ๋ชจ๋ฆฌ ์ ์ค์ผ ์ง์ | ๊น์ ํ ์ฎ๊น | ์ํค๋ถ์ค)
- ํ๋ก๊ฐ ๋๊ธฐ ์ํ ์น ๊ธฐ์ ์ ๋ฌธ (opens new window)
- ์น ํ๋ก๊ทธ๋๋ฐ ์ ๋ฐ์์ ๋ฑ์ฅํ๋ ๊ฐ๋ ์ ์ก๊ณ , ์ฉ์ด์ ์น์ํด ์ง๋๋ฐ ๋์์ด ๋๋ ์ฑ ์ ๋๋ค.
- ๋ ๋ฒจ 2์์๋ "5์ฅ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑ ์์"๊น์ง ์ฝ์ ๊ฒ์ ์ถ์ฒํฉ๋๋ค.
- ํ์ฌ ์ ํ๋ ์ํ์ด๋ฏ๋ก, ๊ตฌํ๊ธฐ๊ฐ ์ด๋ ต๋ค๋ฉด ์ฐํ ์ฝ ์คํ๋ผ์ธ ๊ณต๊ฐ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋น์น๋ ๊ฑธ ๋ด์ฃผ์ธ์.
# ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋งํ๋ค
- ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋งํ๋ค (opens new window)
- ๊ต๊ณผ์๋ผ๊ณ ๋ณผ ์ ์์ ์ ๋๋ก ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ธ์ด ๊ทธ ์์ฒด๋ก ๋ค๋ฃจ๋ ์ธ์ด๋ก ์ ๊ฐ๊น์ด ์ฑ ์ ๋๋ค.
- ๊ฐ๊ฒฐํ๊ฒ ์ ๋ฆฌ์ ์์ธํ ์คํ์ผ๋ก ์ธ์ด์ ์ญ์ฌ๋ฅผ ์ ๋ค๋ฃจ๊ณ ์์ต๋๋ค.
- ES2015+ ์ดํ์ ๋ด์ฉ์ ๋ค๋ฃจ์ง ์๊ธฐ๋๋ฌธ์ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์๋ ๊ทธ ์ด์ ๋ฐฐ๊ฒฝ์ ์ง์์ ์ ๋ฆฌํ ์ ์์ต๋๋ค.
# You Don't Know JS
- You Don't Know JS (opens new window)
- ์๋ฌธ ์์ (opens new window)
- ๋ง์น ๋ง์ ๊ฑด๋ค๋ ๋ฏํ ๋ํ ํํ๋ก ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ๋ ๊ณผ ํต์ฐฐ์ ์๋ ค์ฃผ๋ ์ฑ ์ ๋๋ค. ํ ์ฑํฐ์ฉ ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ๋ค๋ง ๊ทธ ๋ ๊ทธ๋ ์ฝ๋ ๊ฒ๋ ์ถ์ฒํฉ๋๋ค.
# HTTP ์๋ฒฝ ๊ฐ์ด๋
์ผ๋ช
๋ค๋์ฅ ์ฑ
์ผ๋ก ๋ถ๋ฆฌ๋ฉฐ ๊ท์ฌ์ด ํ์ง๋ฅผ ์ฅ์ํ์ง๋ง ์ ๋ชฉ ๊ทธ๋๋ก HTTP์ ๋ํด ๋งค์ฐ ์์ธํ ๋ค๋ฃจ๊ณ ์์ต๋๋ค.
๋ณดํต ์น ๊ธฐ๋ฐ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฃจ๊ฒ ๋๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ค์๊ฒ๋ ํผํผํ ๋คํธ์ํฌ ์ง์์ ์์์ค ์ ์๋๋ก ๋๋ ๋ ๋ ํ ์ฑ ์ ๋๋ค.
# ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ
์น ๊ฐ๋ฐ์์ ์์ ์์ JavaScript๋ฅผ ์ด๋ป๊ฒ ๋ค๋ฃจ๋ฉด ์ข์์ง A to Z๋ก ์ค๋ช ํฉ๋๋ค. IE์ ๋ชฐ๋ฝ๊ณผ ์๋์ ํ๋ฆ์ผ๋ก ์ต์ ECMA Script๋ถํฐ ๋ฐฐ์ฐ๋ ํ ์ํฉ์ JavaScript๊ฐ ์น ์ํ๊ณ์ ์ด๋ ํ ์ํฅ์ ๋ผ์ณค๋์ง ์ญ์ฌ์ ํ๋ฆ์ ์ ์ ์์ต๋๋ค.
# ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ ๊ทธ ๋ชจ์์ผ๊น?
์ ์ ๋๊ธ๋ผ์ค ํฌ๋ฝํฌ๋๋ JSON์ ์ฐฝ์์์ด์ JavaScript ์ ๋ฌธ๊ฐ๋ก ์ํ๊ณ์ ํฐ ์ํฅ์ ์ค ๊ตฌ๋ฃจ ๊ฐ๋ฐ์์ ๋๋ค. ๊ณผ๊ฑฐ ์ถํ๋ ์ ์ ๋๊ธ๋ผ์ค ํฌ๋ฝํฌ๋์ ์๋ฐ์คํฌ๋ฆฝํธ ํต์ฌ ๊ฐ์ด๋ (opens new window)์์๋ JavaScript์ ์ข์ ์ ๊ณผ ์์ฌ์ด ์ ์ ๋ค๋ฃจ๋ฉฐ ํจ์จ์ ์ธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ธฐ์ ํ์ผ๋ฉฐ ์์ ์ฑ ์์๋ ๋ถ๊ตฌํ๊ณ ์ฌ๋ ๊น์ ๋ด์ฉ์ผ๋ก ๊ตญ๋ด์์๋ ํฐ ์ธ๊ธฐ๋ฅผ ๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ 10๋ ๋ง์ ๋์จ ๊ทธ์ ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ ๊ทธ ๋ชจ์์ผ๊น? ๋ ๊ทธ๋์ JavaScript๊ฐ ์ด๋ป๊ฒ ๋ณํํด์๋์ง๋ฅผ ๊ฐ๊ฐ ์์ด ๋๋ฌ๋ด๋ฉฐ ๋์ ๋ฐฉ์๊ณผ ๋ณ์ฒ์ฌ๋ฅผ ์ดํด๋ด ๋๋ค. ์ด๋ ต๊ณ ์ ์ฉํ์ง๋ง ํฅ๋ฏธ๋ก์ด ๊ตฌ์ด์ฒด๊ฐ ๊ฐ๋ํด ์ฌ๋ฏธ์๊ฒ ์ฝ์ ์ ์๋ ์๋ค๋ฅธ ๋งค๋ ฅ์ ์ง๋ ์ฑ ์ ๋๋ค.
# JavaScript ์๋ฒฝ ๊ฐ์ด๋ 7ํ (์์ด)
# ECMA SPEC Document
- ECMA (opens new window) ๋๊ตฌ๊ฐ ์๋ ์ธ์ด ์์ฒด์ ๋ํด ํ์ตํด๋ณผ ์ ์๋ ๋ฌธ์์ ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ผ๋ ์ธ์ด ์ฒด๊ณ๊ฐ ์ด๋ป๊ฒ ๋ง๋ค์ด์ ธ ๊ฐ๊ณ ์๋์ง, ๋ช ์ธ๋ฅผ ์ค์ค๋ก ์ฝ๊ณ ํด์ํ ์ ์๋ ํ์ ๊ธฐ๋ฅด๋๋ฐ ๋์์ด ๋ ๊ฑฐ์์!
# ํ์ ์ ๊ดํ ํ๋ ์
- ํจ๊ป ์๋ผ๊ธฐ (opens new window)
- ๋ฉ์ด์ปค์ค์ด ๊ฐ์ฅ ์ข์ํ๋ ์ฑ ์ค์ ํ๋์ ๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ํจ๊ป ํ์ตํ๊ณ , ์ฑ์ฅํ๊ธฐ ์ํ ์ฌ๊ณ ๋ฐฉ์์ ์ ํ์ ์ค ์ฑ ์ด์์. ์ด ์ฑ ์ ์ฝ๊ณ ๋์ ์ฑ ์ ๋ด์ฉ์ ๋ํด ๊ฐ์ด ๋ํ๋ฅผ ๋ง์ด ํด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ์์.
๐ DOM โ