๋ฐ์ํ JavaScript/TypeScript3 TypeScript๋? ๐ TypeScript ๋? JavaScript + Type = TypeScript ๋ง์ดํฌ๋ก์ํํธ์์ ๊ตฌํํ JavaScript์ ์์ ํ์ฅ(Superset) ํ๋ก๊ทธ๋๋ฐ ์ธ์ด. ๋ง์ดํฌ๋ก์ํํธ์์ ๋ฐํํ ์คํ ์์ค ES6์ Class, module ๋ฑ๊ณผ ES7์ Decorator ๋ฑ์ ์ง์ ํ์ฅ์๋ก๋ .ts๋ฅผ ์ฌ์ฉํ๋ค. ์ปดํ์ผ์ ๊ฒฐ๊ณผ๋ฌผ๋ก JavaScript ์ฝ๋๋ฅผ ์ถ๋ ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ต์ข ์ ์ผ๋ก runtime์์๋ ์ด๋ ๊ฒ ์ถ๋ ฅ๋ JavaScript ์ฝ๋๋ฅผ ๊ตฌ๋์ํจ๋ค. ๐ TypeScript์ ํน์ง ์ ์ ํ์ ์ ๋ช ์ํ ์ ์๋ค๋ ๊ฒ์ด Vanilla Javascript์์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ด๋ค. ์ฆ, 'JavaScript๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ๊ธฐ ์ ์ ์์๋งํ type ERROR๋ค์ ๋ฏธ๋ฆฌ ์ก๋ ๊ฒ' ์ด Typescript.. 2021. 11. 15. ๋๋๋ก์ด๋ฉด ์ฐ์ง ๋ง์์ผ ํ ? type ๐ฉ null null์ ๋จ๋ ์ผ๋ก ์ฌ์ฉํ์ง ์๋๋ค. let person: null; ๐๐ป let person2: string | null; ๐๐ป ๐ฉ unknown unknown = ์ ์ ์๋ unknown์ผ๋ก ์ง์ ์ ํ๋ฉด ์ด๋ค ์ข ๋ฅ์ ๋ฐ์ดํฐ๊ฐ ๋ด๊ธธ์ง ์ ์ ์๋ type์ด ๋๋ค. ๊ฐ๋ฅํ๋ฉด ์ฐ์ง ์๋ ๊ฒ์ด ์ข๋ค. let notSure: unknown = 0; notSure = 'he'; notSure = true; unknown์ type์ด ์๋ JavaScript์ ์ฐ๋์ ํด์ ์ธ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค. ๊ทธ๋๋ ๊ฐ๋ฅํ๋ฉด type์ ๊ตฌ์ฒด์ ์ผ๋ก ์ง์ ํด์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค! ๐ฉ any ๊ฐ๋ฅํ๋ฉด ์ฐ์ง ์๋ ๊ฒ์ด ์ข๋ค. unknown์ ์ด๋ค type์ ์ฌ์ฉํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ด ใ ใ ๋ผ๋ ๋ป์ด์ด์ ๊ฒธ์ํ๊ธฐ๋ผ๋ํ์ง any.. 2021. 11. 15. Type Alias ๐ฅ Type Alias๋? ํ์ ์ ์ง์ ์ด๋ฆ์ ๋ช ๋ช ํ ์ ์๋ ๊ฒ. ์ฆ, ์๋ก์ด ํ์ ์ ์ ์ํ๋ ๊ฒ. ํ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค๋ ์ ์์ ์ธํฐํ์ด์ค์ ์ ์ฌํ๋ค. Type Alias๋ ์์๊ฐ, union ํ์ , tuple ๋ฑ๋ ํ์ ์ผ๋ก ์ง์ ํ ์ ์๋ค. ๊ทธ๋ฌ๋ ์ธํฐํ์ด์ค์ฒ๋ผ extends ๋๋ implements ๋ ์๋ ์๋ค. ex) type Person = { name: string; age: number; }; const person: Person = { name: 'yunkyung', age: 20, }; 2021. 11. 15. ์ด์ 1 ๋ค์ ๋ฐ์ํ