๐ ๋์จํ ํ์
(loosely typed)์ ๋์ (dynamic) ์ธ์ด
๐ 1. ์ ์
-
JavaScript๋ ๋์จํ ํ์
(loosely typed)์ ๋์ (dynamic) ์ธ์ด๋ก์
JavaScript์ ๋ณ์๋ ์ด๋ค ํน์ ํ์
๊ณผ ์ฐ๊ฒฐ๋์ง ์์ผ๋ฉฐ,
๋ชจ๋ ํ์
์ ๊ฐ์ผ๋ก ํ ๋น (๋ฐ ์ฌํ ๋น) ๊ฐ๋ฅํ๋ค.
-
๋ฐํ์์ ๋ณ์๋ ํ๋, ๊ธฐํ ๋ฑ๋ฑ์ด ์ ์ธ๋ ๋๊ฐ ์๋ ๋ณ์์ ๊ฐ์ ๋ฐ๋ผ์ ํ์
์ด ๊ฒฐ์ ๋๋ค. ํ์
์ฒดํฌ๋ ์ด ๋ ์ด๋ฃจ์ด์ง๋ค.
๐ ๋ณ์์ ํ์
์ด๋?
- int, short, float, string, ๊ฐ์ฒด์ ๊ฐ์ ์๋ฃํ
๐ ๋ฐํ์์ด๋?
- ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ณ ์๋ ์๊ฐ๊ณผ ๊ณต๊ฐ์ ์์ฐ๋ฅด๋ ๋ง๋ก์, JavaScript๋ฅผ ์ด์ฉํด์ ๋ด๊ฐ ๋ง๋ ํ๋ก๊ทธ๋จ์ ์คํ์ํจ๋ค๋ฉด ์คํ์ํค๊ธฐ ์์ํ๋ ๋์ ๋ธ๋ผ์ฐ์ ์์ ์๋๋๋ ๊ณต๊ฐ๊ณผ ์๋๋๊ณ ์๋ ์๊ฐ
๐ 2. ์ฅ์
- ํ๋ก๊ทธ๋๋จธ๋ค์ด ํ์
์ ๊ณ ๋ฏผํ ํ์์์ด ๋น ๋ฅด๊ฒ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค
- ์ ์ฐํ๋ค.
๐ 3. ๋จ์ (๋ฌธ์ ์ )
- ์ฌ์ ์ ๋ฒ๊ทธ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐํํ๊ธฐ ์ด๋ ต๋ค.
๐ 4. ์์
- Perl, Ruby, Python, PHP, JavaScript
๐ 5. ๋จ์ ๋ณด์๋ฒ
- ๋์ ํ์
์ ์ธ์ด์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด TypeScript๊ฐ ๋ฑ์ฅํ๋ค.
ํ์
์คํฌ๋ฆฝํธ๋ ๋ณ์๋ฅผ ์ ์ธํ ๋, ํด๋น ๋ณ์์ ํ์
์ ํจ๊ป ์ ์ธํด์ฃผ์ด
์ปดํ์ผ ๋จ๊ณ์์ ํ์
์ค๋ฅ๋ฅผ ํ์
ํ ์ ์๋ค.
๐ 6. ์๊ฒ๋ ์
- ๊ทธ๋ฆฌ๊ณ ๋ณ์์ ํ์
์ ๋ฏธ๋ฆฌ ์ ์ธํ ํ์๊ฐ ์๊ณ ,
ํ์
์ ํ๋ก๊ทธ๋จ์ด ์ฒ๋ฆฌ๋๋ ๊ณผ์ ์์ ์๋์ผ๋ก ํ์
๋๋ค๊ณ ํ๋ค.
๋ ์ด ๋ง์ ๋ณ์์ ์ฌ๋ฌ ํ์
์ ๊ฐ์ ๋ฃ์ ์ ์๋ค๋ ๋ป์ด๋ค.
=> ์ด ๋ถ๋ถ๋ค์ ํ์ฌ ์์ ํ๊ฒ ์ดํดํ์ง ๋ชปํ ๋ถ๋ถ์ด์ด์ ์ ์ด๋์์ง๋ง, ๋์ค์ ๋๊ณ ๋๊ณ ๋ณด๊ฒ ๋๋ค๋ฉด ์ดํดํ๋ ๋ ์ด ์ฌ๊ฑฐ๋ผ ๋ณธ๋ค.