๋ฐ์ํ
๐ ์ค๋ ํ ์ผ
Typescript
์ ํ๋ธ ์์์ผ๋ก ๋์ถฉ ์ ์ฌ์ฉํ๋์ง ์ ๋๋ง ์๊ณ ์์๋๋ฐ, Typescript๋ก ์ด๋ฐ์ ๋ฐ ์ฝ๋๋ค์ ํ ์คํธํด๋ดค๋ค. ์ด๋ฆ ๊ทธ๋๋ก Type์ ์ง์ ํ๋ Javascript์ด๊ธฐ๋ ํ๊ณ , ์ธํฐํ์ด์ค๋ ํด๋์ค๋ฅผ ์ด์ฉํด์ ์ ์ถ๋ ฅ ๋ฐ์ดํฐ ํ์ ์ ํ์คํ ์ง์ ํ ์ ์๊ณ , ๋๋ถ์ ์ค์๋ค์ ๋ฐฉ์งํ ์ ์๋ค๋ ์ฅ์ ์ด ์์๋ค. ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฐ๋ฉด ํจ์๋ ์ธ์๋ค์ด ๋ง์์ ธ๋ ์์ํ ์ค์๋ก ์ธํด์ undefined๊ฐ ๋จ๋ ๊ฒฝ์ฐ๋ฅผ ๋ฐฉ์งํ ์ ์์ ๊ฒ ๊ฐ๋ค.
ํ๋ก๊ทธ๋๋จธ์ค Dev Matching
์์ ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ง์ผ๋ก๋ง ํ๊ฐ๋ฅผ ํ๋ค๊ณ ํด์ ๋ณต์ต๋ ํ ๊ฒธ ๊ฐ๋ฒผ์ด ๋ง์์ผ๋ก ์ฐธ๊ฐํด๋ดค๋ค. ์ธ์๊ฐ๋์ ํ์ด์ง์์ ๊ธฐ๋ฅ์ ์ผ๋ถ๋ถ์ ๊ตฌํํ๋ ๊ณผ์ ์๋๋ฐ, ์์์ ์๋์์ฑ์ ํด์ฃผ๊ณ ๋ฌธ๋ฒ๋ ๊ณ ์ณ์ฃผ๋ ์ต์คํ ์ ํ๋ ์์ด ์์ HTML, CSS, Javscript๋ง ์ฌ์ฉํ๋๊น ์๊ฐ๋ณด๋ค ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด๋ ํท๊ฐ๋ ค์ ์์ฒญ ๊ฒ์ํด๋ดค๋ ๊ฒ ๊ฐ๋ค. ์๊ฐ์ด ์๊ฐ๋ณด๋ค ๋นจ๋ฆฌ๊ฐ์ ๋ง์ง๋ง์ ์ธ์ ์ api์์ฒญ์ ์ ์ฅํ๋ ๋ถ๋ถ์ ํ๋ค๋ง๊ณ ์ ์ถํด์ผํ๋ค. ์งง์์๊ฐ์ด์ง๋ง ์งง๊ณ ๊ตต๊ฒ ๋ณต์ต + ๊ณต๋ถ๋ฅผ ํ๊ฒ๊ฐ๋ค,, ์๊ธฐ์ ์ ์๋ก ์๊ฒ๋๊ฒ๋ค์ ๊ธฐ๋กํด๋ฌ์ผ์ง..!
๐ ๊ธฐ์ตํ ๊ฒ
Typescript - tsconfig.json ํ์ผ
1. compilerOptions : tsc ๋ช ๋ น ํ์ ์ต์
module : ์น๋ธ๋ผ์ฐ์ ๋ Node.js ๋ฅผ ๊ตฌ๋ถํด ๋ง๋ ๋ชจ๋๋ฐฉ์์ผ๋ก ์ปดํ์ผ
moduleResolution : module๊ฐ์ ๋ฐ๋ผ ์ค์
target : ํธ๋์คํ์ผํ ๋์ Javascript ๋ฒ์ ์ค์
baseUrl : ํธ๋์คํ์ผ๋ js ํ์ผ ์ ์ฅํ๋ ๋๋ ํฐ๋ฆฌ ์ค์ (๋ณดํต . ์ผ๋ก ์ค์ )
outDir : baseUrl ์ค์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํ์ ๋์ ํ์ ๋๋ ํฐ๋ฆฌ๋ช
paths : import๋ฌธ์์ from๋ถ๋ถ์ ํด์ํ ๋ ์ฐพ์์ผํ๋ ๋๋ ํฐ๋ฆฌ ์ค์
paths : import๋ฌธ์์ from๋ถ๋ถ์ ํด์ํ ๋ ์ฐพ์์ผํ๋ ๋๋ ํฐ๋ฆฌ ์ค์
sourceMap : .js.map ํ์ผ ์์ฑ
downlevelIteration : generator์ ์ ์์๋์ํค๋ ค๋ฉด true๋ก ์ค์ ํด์ผํจ
nolmplicitAny : ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ ๋ช ์ ์ํ๋ฉด ์๋ฌต์ ์ผ๋ก any ํ์ ์ ์ค์ ํ๊ฑธ๋ก ๊ฐ์ฃผ
2. include : ๋์ ํ์ผ ๋ชฉ๋ก
Typescript - Interface ์ ์ธ๋ฌธ
object ํ์ ์ interface, class์ ์์ ํ์ ์ด๋ค. object์๋ ๋ง๊ตฌ์ก์ด๋ก ๊ฐ์ ๋ฃ์ ์ ์์ง๋ง, interface๋ ํ๋ํ๋ ํ์ ์ ์ง์ ํด๋ ๊ฒ! ์ด๋ค ์์ฑ์ด ์์ด์ผํ๋ค๋ ๊ท์ฝ์ ๋ถ๊ณผํ ๋ฟ, ์ง์ง๋ก ๋ง๋ค์ด์ฃผ์ง๋ ์๊ธฐ ๋๋ฌธ์ class ์์ ๋ฐ๋์ ์ธํฐํ์ด์ค๊ฐ ์ ์ํ๊ณ ์๋ ์์ฑ์ ๋ฉค๋ฒ ์์ฑ์ผ๋ก ํฌํจํด์ผํ๋ค. (= ์ง์ ๋ง๋ค์ด์ผ๋จ)
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ Typescript ๋ก ๊ฐ๋จํ ์นํ์ด์ง ๋ง๋ค์ด๋ณด๊ธฐ
โ๏ธ MVC ํจํด, ์ธ์ฆ ๋ณต์ต
๋ฐ์ํ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
210308_TIL (OAuth2.0์ผ๋ก ๊นํ๋ก๊ทธ์ธ ๊ตฌํ, ์ธ์ ๊ธฐ๋ฐ์ธ์ฆ ๋ณต์ต) (0) | 2021.03.09 |
---|---|
210307_TIL (MVC, ์ฟ ํค/์ธ์ ์คํ๋ฆฐํธ ๋ณต์ต) (0) | 2021.03.08 |
210305_TIL (JWT, ํ ํฐ๊ธฐ๋ฐ์ธ์ฆ) (0) | 2021.03.06 |
210303_TIL (Sequelize, Sequelize-cli) (0) | 2021.03.03 |
210227_TIL (MongoDB, Mongoose) (0) | 2021.03.01 |
๋๊ธ