-
[MJDD] 1์ฅ ํ๋ก๊ทธ๋๋ฐLanguage/JavaScript 2024. 11. 28. 15:28728x90
๐จ ์ด ๊ธ์ '๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive (์ด์ ๋ชจ ์ )'๋ฅผ ์ฝ๊ณ , ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
ํ๋ก๊ทธ๋๋ฐ
1.1 ํ๋ก๊ทธ๋๋ฐ์ด๋?
์ฑ ์์๋ ํ๋ก๊ทธ๋๋ฐ์ ์ปดํจํฐ์๊ฒ ์คํ์ ์๊ตฌํ๊ธฐ ์ํ ์ปค๋ฎค๋์ผ์ด์ ์ผ๋ก ๋น์ ํ์ฌ ์ค๋ช ํ๋ค.
ํ์ง๋ง ํ๋ก๊ทธ๋๋ฐ์ ํ๊ธฐ ์ด์ ์ ํด๊ฒฐํด์ผํ ๋ฌธ์ (์๊ตฌ์ฌํญ)์ ๋ช ํํ๊ฒ ์ดํดํ๊ณ ๋์ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ์์ ์ ์ํ ํ์๊ฐ ์์์ ๊ฐ์กฐํ๋ค.์ด๋ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ด ์๊ตฌ๋๋ค.
๋๋ถ๋ถ์ ๋ฌธ์ ๋ ๋ณต์กํ๊ณ ๋ช ํํ์ง ์์ ์ ์๊ธฐ ๋๋ฌธ์, ๋ฌธ์ ๋ฅผ ๋จ์ํ๊ฒ ๋ถํดํ๊ณ ์๋ฃ๋ฅผ ์ ๋ฆฌํ๊ณ ๊ตฌ๋ถํ์ฌ ์์์ ๋ง๊ฒ ํ์๋ฅผ ๋ฐฐ์ดํ๋ ๊ณผ์ ์ด ํ์ํ๋ค.๋ค์ ๋งํด ํ๋ก๊ทธ๋๋ฐ์ด๋ 0๊ณผ 1๋ฐ์ ๋ชจ๋ฅด๋ ๊ธฐ๊ณ๊ฐ ์ ์ ์๋๋ก ์ ํํ๊ณ ์์ธํ๊ฒ ์๊ตฌ ์ฌํญ์ ์ค๋ช ํ๋ ์์ ์ด๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์ด ์ฝ๋๋ผ๊ณ ๋ณผ ์ ์๋ค.
์ธ์๊น์๋ ๋ง์ "๋ชจํธํ๊ณ ๋๋ต์ ์ธ ์๊ตฌ์ฌํญ์ ์ ๋ฌํด๋ ์ฐ๋ฆฌ์ ๋จธ๋ฆฟ ์์ ์๋ ์๋๋ฅผ ์ ํํ ๊ฟฐ๋ซ์ด ์๋ฒฝํ ์ดํดํ๋ ์ปดํจํฐ๋ ์ ๋ ์กด์ฌํ ์ ์๋ค" ์๋ค.
์์ฑํ AI๊ฐ ๋์จ ์ง๊ธ, ๊ณผ์ฐ ๋ฏธ๋์๋ ์ ๋ ์กด์ฌ ํ ์ ์์ ๊ฒ์ธ๊ฐ...์ ๋ํ ์๋ฌธ์ด ๋จ๋๋ค.
1.2 ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
์ธ๊ฐ์ ์์ฐ์ด๋ฅผ ํตํด์๋ง ์ปค๋ฎค๋์ผ์ด์ ์ ํ ์ ์๋ค. ๊ธฐ๊ณ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ต์ข ์ ์ผ๋ก๋ ๊ธฐ๊ณ์ด๋ก ์ฐ๋ฆฌ์ ์ค๋ช ์ ์ดํดํ๋ค.
๊ธฐ๊ณ์ด๋ก ์ง์ ๋ช ๋ น์ ์ ๋ฌํ๋ฉด ๋งค์ฐ ๋ณต์กํ๋ค. 16์ง์์ ์ฌ๋ฌ ์ซ์๋ค๋ก ์ด๋ฅผ ์ ๋ฌํด์ผํ๋๋ฐ ์ฌ๊ฐ ๋ณต์กํ๊ฒ ์๋๋ค.๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ธ๊ฐ์ด ์ดํดํ ์ ์๋ ์ฝ์๋ ๊ตฌ๋ฌธ์ธ "๋ฌธ๋ฒ"์ผ๋ก ๊ตฌ์ฑ๋ "ํ๋ก๊ทธ๋๋ฐ ์ธ์ด"๋ฅผ ์ฌ์ฉํด ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ฉฐ ์ด๋ฅผ ์ปดํ์ผ๋ฌ(compiler) ํน์ ์ธํฐํ๋ฆฌํฐ(interpreter) ๊ฐ ๋ฒ์ญํด ์ค๋ค.
์ด๋ ๊ฒ๋ง ๋ณด๋ฉด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋ "๋ฌธ๋ฒ"๋ง ์๋ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ์๋๋ค.
1.3 ๊ตฌ๋ฌธ๊ณผ ์๋ฏธ
์ธ์ดํ์์ ์ ๋ช ํ ๋ฌธ์ฅ์ด ์๋ค.
Colorless green ideas sleep furiosly
by ๋ ธ์ ์ด์คํค์ด ๋ฌธ์ฅ์ด ํด์์ด ๋๋๊ฐ? ๋ฌผ๋ก "ํด์"์ ๋ ๊ฒ์ด๋ค.
ํ์ง๋ง ์ด ๋ฌธ์ฅ์ด ์ด๋ค "์๋"๋ฅผ ๊ฐ์ง๋์ง ๊ทธ "์๋ฏธ"๋ฅผ ์ดํดํ ์ ์๋?์๋๋ค.
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ง์ฐฌ๊ฐ์ง๋ผ๋ ๊ฒ์ด๋ค.
const number = "string" console.log(number * number): // NaN
์๋ฐ์คํฌ๋ฆฝํธ์ ๋ณ์์๋ ์ด๋ ํ ํ์ ์ ๊ฐ๋ ํ ๋นํ ์ ์๋ค. ๋ฐ๋ผ์ ์ ์ฝ๋๋ ๋ฌธ๋ฒ์ ์ผ๋ก ์ ํ ๋ฌธ์ ๊ฐ ์๋ค.
ํ์ง๋ง "์๋ฏธ์ ์ผ๋ก"๋ ์ณ์ง ์๋ค.number
๋ผ๋ ์ด๋ฆ์ ๋ณ์์ ๋ฌธ์์ด์ด ํ ๋น๋์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.๊ฒฐ๊ตญ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ ํตํด ๋ง๋ค์ด๋ธ ํด๊ฒฐ ๋ฐฉ์์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋ค.
ํ์ง๋ง ์ด๋ฌํ ํด๊ฒฐ ๋ฐฉ์์, ์๊ตฌ์ฌํญ์ด ์คํ(๋ฌธ์ ๊ฐ ํด๊ฒฐ) ๋์ด์ผ ์๋ฏธ๊ฐ ์๋ค.์์ฒ๋ผ ์ฝ๋ฉํ๋ฉด, ์์ ํ ์๊ตฌ์ฌํญ์ ์คํํ ์ ์๋ค๊ณ ๋ณผ ์ ์๋ค.
์ต์ข ์ ์ผ๋ก ํ๋ก๊ทธ๋๋ฐ์ ๋ค์๊ณผ ๊ฐ์ด ์์ฝํ ์ ์๋ค.
์๊ตฌ์ฌํญ์ ์งํฉ์ ๋ถ์ํด์ ์ ์ ํ ์๋ฃ๊ตฌ์กฐ์ ํจ์์ ์กํฉ์ผ๋ก ๋ณํํ ํ, ๊ทธ ํ๋ฆ์ ์ ์ดํ๋ ๊ฒ!
'Language > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MJDD] 3์ฅ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์คํ ๋ฐฉ๋ฒ (1) 2024.12.05 [MJDD] 2์ฅ ์๋ฐ์คํฌ๋ฆฝํธ๋? (2) 2024.11.28 [MJDD] ๋ค์ด๊ฐ๋ฉฐ (0) 2024.11.26 [JavaScript] ์ค์ฝํ (0) 2024.11.24 [JavaScript] ์ฐ์ฐ์ (0) 2024.11.23