ES ๋ชจ๋ ๋ฐ ๋ฒ๋ค๋ฌ๋ถํฐ ์ข ์์ฑ ์ฃผ์ ๋ฐ ๋ชจ๋ ์ฐํฉ๊ณผ ๊ฐ์ ๊ณ ๊ธ ํจํด๊น์ง, JavaScript ์ข ์์ฑ ํด๊ฒฐ์ ํต์ฌ ๊ฐ๋ ์ ํ๊ตฌํฉ๋๋ค. ๊ธ๋ก๋ฒ ๊ฐ๋ฐ์๋ฅผ ์ํ ํฌ๊ด์ ์ธ ๊ฐ์ด๋.
JavaScript ๋ชจ๋ ์๋น์ค ์์น: ์ข ์์ฑ ํด๊ฒฐ ์ฌ์ธต ๋ถ์
ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ธ๊ณ์์ ๋ณต์ก์ฑ์ ๋น์ฐํ ์ผ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฑ์ฅํจ์ ๋ฐ๋ผ ์ฝ๋์ ์ฌ๋ฌ ๋ถ๋ถ ๊ฐ์ ์ข ์์ฑ ์น์ ์๋นํ ๊ณผ์ ๊ฐ ๋ ์ ์์ต๋๋ค. ํ ๊ตฌ์ฑ ์์๊ฐ ๋ค๋ฅธ ๊ตฌ์ฑ ์์๋ฅผ ์ด๋ป๊ฒ ์ฐพ์ต๋๊น? ๋ฒ์ ์ ์ด๋ป๊ฒ ๊ด๋ฆฌํฉ๋๊น? ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ชจ๋์์ด๊ณ , ํ ์คํธ ๊ฐ๋ฅํ๋ฉฐ, ์ ์ง ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๋๋ก ์ด๋ป๊ฒ ๋ณด์ฅํฉ๋๊น? ๊ทธ ๋ต์ ์ข ์ข ์๋น์ค ์์น๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฒ์ ํต์ฌ์ธ ํจ๊ณผ์ ์ธ ์ข ์์ฑ ํด๊ฒฐ์ ์์ต๋๋ค.
์ด ๊ฐ์ด๋๋ JavaScript ์ํ๊ณ ๋ด์์ ์๋น์ค ์์น ๋ฐ ์ข ์์ฑ ํด๊ฒฐ ๋ฉ์ปค๋์ฆ์ ์ฌ์ธต์ ์ผ๋ก ์ดํด๋ด ๋๋ค. ๋ชจ๋ ์์คํ ์ ๊ธฐ๋ณธ ์๋ฆฌ์์ ํ๋ ๋ฒ๋ค๋ฌ ๋ฐ ํ๋ ์์ํฌ์์ ์ฌ์ฉ๋๋ ์ ๊ตํ ์ ๋ต๊น์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ตฌ์ถํ๋ ๋๊ท๋ชจ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ , ์ด๋ฌํ ๊ฐ๋ ์ ์ดํดํ๋ ๊ฒ์ ๊ฐ๋ ฅํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
์๋น์ค ์์น๋ ๋ฌด์์ด๋ฉฐ JavaScript์์ ์ ์ค์ํฉ๋๊น?
ํต์ฌ์ ์ผ๋ก ์๋น์ค ๋ก์ผ์ดํฐ๋ ๋์์ธ ํจํด์ ๋๋ค. ๋ณต์กํ ๊ธฐ๊ณ๋ฅผ ๋ง๋ค๊ณ ์๋ค๊ณ ์์ํด ๋ณด์ธ์. ๊ตฌ์ฑ ์์์์ ํ์ํ ํน์ ์๋น์ค๋ก ๋ชจ๋ ์์ด์ด๋ฅผ ์๋์ผ๋ก ๋ฉ๋ํ๋ ๋์ ์ค์ ์ค์์น๋ณด๋๋ฅผ ๋ง๋ญ๋๋ค. ์๋น์ค๊ฐ ํ์ํ ๋ชจ๋ ๊ตฌ์ฑ ์์๋ ์ค์์น๋ณด๋์ "'๋ก๊ฑฐ' ์๋น์ค๊ฐ ํ์ํฉ๋๋ค"๋ผ๊ณ ์์ฒญํ๋ฉด ์ค์์น๋ณด๋๊ฐ ์ ๊ณตํฉ๋๋ค. ์ด ์ค์์น๋ณด๋๊ฐ ์๋น์ค ๋ก์ผ์ดํฐ์ ๋๋ค.
์ํํธ์จ์ด ์ฉ์ด์์ ์๋น์ค ๋ก์ผ์ดํฐ๋ ๋ค๋ฅธ ๊ฐ์ฒด ๋๋ ๋ชจ๋(์๋น์ค)์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์๋ ๊ฐ์ฒด ๋๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ์๋น์ค ์๋น์๋ฅผ ํด๋น ์๋น์ค์ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ ๋ฐ ํด๋น ์๋น์ค๋ฅผ ๋ง๋๋ ํ๋ก์ธ์ค์์ ๋ถ๋ฆฌํฉ๋๋ค.
์ฃผ์ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ถ๋ฆฌ: ๊ตฌ์ฑ ์์๋ ์ข ์์ฑ์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ์ ํ์๊ฐ ์์ต๋๋ค. ํด๋น ์ข ์์ฑ์ ์์ฒญํ๋ ๋ฐฉ๋ฒ๋ง ์๋ฉด ๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ตฌํ์ ์ฝ๊ฒ ๊ตํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฝ์ ๋ก๊ฑฐ์์ ์๊ฒฉ API ๋ก๊ฑฐ๋ก ์ ํํ ๋ ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ตฌ์ฑ ์์๋ฅผ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค.
- ํ ์คํธ ๊ฐ๋ฅ์ฑ: ํ ์คํธํ๋ ๋์ ์๋น์ค ๋ก์ผ์ดํฐ๋ฅผ ์ฝ๊ฒ ๊ตฌ์ฑํ์ฌ ๋ชจ์ ๋๋ ๊ฐ์ง ์๋น์ค๋ฅผ ์ ๊ณตํ์ฌ ํ ์คํธ ์ค์ธ ๊ตฌ์ฑ ์์๋ฅผ ์ค์ ์ข ์์ฑ์์ ๊ฒฉ๋ฆฌํ ์ ์์ต๋๋ค.
- ์ค์ ์ง์ค์ ๊ด๋ฆฌ: ๋ชจ๋ ์ข ์์ฑ ๋ก์ง์ ํ ๊ณณ์์ ๊ด๋ฆฌ๋๋ฏ๋ก ์์คํ ์ ๋ ์ฝ๊ฒ ์ดํดํ๊ณ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- ๋์ ๋ก๋: ์๋น์ค๋ฅผ ์ฃผ๋ฌธํ์ผ๋ก ๋ก๋ํ ์ ์๋๋ฐ, ์ด๋ ๋๊ท๋ชจ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
JavaScript์ ๋งฅ๋ฝ์์ Node.js์ `require`์์ ๋ธ๋ผ์ฐ์ ์ `import`๊น์ง ์ ์ฒด ๋ชจ๋ ์์คํ ์ ์ผ์ข ์ ์๋น์ค ์์น๋ก ๋ณผ ์ ์์ต๋๋ค. `import { something } from 'some-module'`์ ์์ฑํ๋ฉด JavaScript ๋ฐํ์์ ๋ชจ๋ ๋ฆฌ์กธ๋ฒ(์๋น์ค ๋ก์ผ์ดํฐ)์๊ฒ 'some-module' ์๋น์ค๋ฅผ ์ฐพ์์ ์ ๊ณตํ๋๋ก ์์ฒญํ๋ ๊ฒ์ ๋๋ค. ์ด ๊ฐ๋ ฅํ ๋ฉ์ปค๋์ฆ์ด ์ ํํ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ด ๋ฌธ์์ ๋๋จธ์ง ๋ถ๋ถ์์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
JavaScript ๋ชจ๋์ ์งํ: ์งง์ ์ฌ์
ํ๋ ์ข ์์ฑ ํด๊ฒฐ์ ์์ ํ ์ดํดํ๋ ค๋ฉด ๊ทธ ์ญ์ฌ๋ฅผ ์ดํดํด์ผ ํฉ๋๋ค. ๋ค๋ฅธ ์๊ธฐ์ ์ด ๋ถ์ผ์ ์ง์ถํ ์ ์ธ๊ณ ๊ฐ๋ฐ์์๊ฒ๋ ํน์ ๋๊ตฌ์ ํจํด์ด ์กด์ฌํ๋ ์ด์ ๋ฅผ ์ดํดํ๋ ๋ฐ ์ด ์ปจํ ์คํธ๊ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
"๊ธ๋ก๋ฒ ๋ฒ์" ์๋
JavaScript ์ด๊ธฐ์๋ `