์ด๋ฒ์ ์ด์ง์ ์ค๋นํ๋ฉด์ ๋๋ ์ ์ ์ ๋ง ๋ง์ ํ์ฌ๋ค์ด ์ฒด์ฉ๊ณต๊ณ ์ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ๊ธฐ์ ์คํ ์์ ๋นผ๋์ง ์๊ณ ๊ธฐ์ ํ๋ค๋ ๊ฒ์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์ ํ์ ๋ถ๋ถ์ ์ ๊ทธ๋ ์ด๋๋ ๊ฒ์ด ํ์ ์คํฌ๋ฆฝํธ๋ผ๊ณ ์๊ณ ์๋๋ฐ ์ด๊ฑธ ๊ตณ์ด ์ ์จ์ผํ ๊น?์ด์ ๋ js๋ 5-'3'๊ฐ์ด ์ซ์์ ๋ฌธ์๋ฅผ ์ฐ์ฐํด
ํ๋ก์ ํธ๋ฅผ ์์ํ๊ธฐ ์ ์ ํด๋์ tsconfig.json์ด๋ผ๋ ํ์ผ์ ํ๋ ์์ฑํด๋ณด์. ์ฌ๊ธฐ์ ํ์ ์คํฌ๋ฆฝํธ tsํ์ผ๋ค์ .jsํ์ผ๋ก ๋ณํํ ๋ ์ด๋ป๊ฒ ๋ณํํ ๊ฒ์ธ์ง ์ธ๋ถ์ค์ ์ด ๊ฐ๋ฅํจ.๋ฆฌ์ํธ๋ ๋ทฐ๋ฅผ ์ฐ๋ ์ค์ด๋ผ๋ฉด ์ด๋ฏธ ์์ ์ ์์.๊ทธ๋ฆฌ๊ณ jsonํ์ผ ์์ ์ ์ฝ๋๋ฅผ ๋ณต
ts๋ ๋ณ์๋ฅผ ๋ง๋ค๋ ๋ณ์์ ํ์ ์ ์ง์ ๊ฐ๋ฅํจ.๋ณ์๋ช : ํ์ ์ผ์ผ ์ง์ ํ๋ฉด ๋จ์ด๊ฑธ ์ค๋ ์์ด๋ค๊ณ ํจ.์ด์ ์ด๋ฆ์ด๋ผ๋ ๋ณ์๋ stringํ์ ์ด๋ผ์ stringํ์ ์ด ์๋ ์ซ์๊ฐํผ๊ฑธ ํ ๋นํ๋ ค๊ณ ํ๋ฉด ์ค๋๋ก ํ๊ฒจ๋(์๋ฌ๋ฐ์!)๐์ฐธ๊ณ name์ด๋ผ๋ ๋ณ์๋ช ์ ์ ์ญ๋ณ์๋ก ์ฌ์ฉ๋ถ๊ฐ
๋ณ์์ ๋ค์ด์ฌ๊ฒ string์ผ์ง number์ผ์ง ์์ง ์ ๋งคํ๋ค๋ฉด ๋ช๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์"์ด ๋ณ์์ string ๋๋ number๊ฐ ๋ค์ด์ฌ ์ ์๋ค~"๋ผ๊ณ |(ํ์ดํ)๋ฌธ์๋ฅผ ์ฌ์ฉํด ์๋ ค์ฃผ๋๊ฒ ํ ๋นํ๋ ์๊ฐ ํ์ ์ด string ๋๋ number ์ค ํ๋๋ก ๋ณํจarray๋ ob
ํจ์์ ํ์ ์ง์ ์ 2๊ณณ์ด ๊ฐ๋ฅํ๋ค1\. ํจ์๊ฐ ๋ค์ด์ค๋ ์๋ฃ (ํ๋ผ๋ฏธํฐ)2\. ํจ์์์ ๋๊ฐ๋ ์๋ฃ (return)ํจ์๋ก ๋ค์ด์ค๋ ํ๋ผ๋ฏธํฐ ํ์ ์ง์ ์ ํ๋ผ๋ฏธํฐ ์์ ์์ฑํจ์๊ฐ ์คํ๋ ํ ๋จ์ ๊ฐ (return์ฐ์ธก์ ์๋ ๊ฐ)ํ์ ์ง์ ํ๋ ค๋ฉด ํจ์๋ช ()์ฐ์ธก์ ์์ฑํจ์์ ํ์
TS๋ ์์ฆ ๊ฑฐ์ ํ์์คํ์ ์๋ํฐ ๋ถ๊ฐ๊ธฐ๋ฅ์ด๋ฏ๋ก ๊ทธ๋ฅ ์ฐ๋๊ฒ ์ข๋ค๊ณ ์๊ฐํ๋ค.์์ฆ ๊ฐ์ฅ ํซํ React์ ์ฐ๋๋ฒ์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค.๋ฆฌ์ํธ ํ๋ก์ ํธ ์ค์น๋ ์ด๋ ๊ฒ ํ๋ฉด ๋๋๋ฐ,๊ธฐ์กด ํ๋ก์ ํธ์ ts๋ง ๋ํ๊ณ ์ถ์ผ๋ฉด npm install --save typescript
redux๋ 1\. state๋ฅผ ํ๊ณณ์ ๊ด๋ฆฌํ ์ ์์ด์ compoent๋ค์ด props์์ด state๋ฅผ ๋ค๋ฃจ๊ธฐ ์ฝ๊ณ 2\. ์์ ๋ฐฉ๋ฒ์ ๋ฏธ๋ฆฌ reducer๋ผ๋ ํจ์๋ก ์ ์ํด๋์ state ์์ ์ ๋ฐ์ํ๋ ๋ฒ๊ทธ๋ฅผ ์ค์ผ ์ ์์redux ๊ณต์ toolkit ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์จ์
https://joshua1988.github.io/ts/guide/enums.html#%EC%BB%B4%ED%8C%8C%EC%9D%BC-%EC%8B%9C%EC%A0%90%EC%97%90%EC%84%9C%EC%9D%98-%EC%9D%B4%EB%84%98-%ED
์ดํํฐ๋ธ ํ์ ์คํฌ๋ฆฝํธ https://github.com/type-challenges/type-challenges/blob/main/README.ko.mdํ์ ์คํฌ๋ฆฝํธ CheatSheethttps://velog.io/@yeongbinim/%ED%83%80