๐ TypeScript
[์ฝ๋ฉ์ ํ] ํ์ ์ ๋ณ์์ ๋ด์ : type alias
type alias ํ์ ์ ๋ณ์์ ๋ด์ ์ ์๋ค. type alias๋ ์๋ฌธ ๋๋ฌธ์๋ก ์์ํ๋ ๊ท์น์ด ์๋ค. type Name = string | number; let ์ด๋ฆ :Name = 'kim'; type MyObject = { name? : string, age : number } let ์ฒ ์ :MyObject = { name : 'kim', age : 50 } Object ๋ณ๊ฒฝ ์๋ฌ๋์ฐ๊ธฐ type MyObject = { readonly name : string, } let ์ฒ ์ :MyObject = { name : 'kim', } ์ฒ ์.name = 'Park'; // ์๋ฌ const๋ ๋ณ์ ์ฌํ ๋น์ด ๋ถ๊ฐ๋ฅํ์ง๋ง, object์ ๋ด๋ถ ์์ฑ์ ๋ณ๊ฒฝํ ์ ์๋ค. ํ์ ์คํฌ๋ฆฝํธ์์๋ ์ด๊ฒ์ ์๋ฌ๋ฅผ ๋์ธ ์..
ํ์ ์คํฌ๋ฆฝํธ ์์ Part 1 (1~4) : ํจ์ ํ์ ์ง์
์ด๋ฆ์ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ ฅํ๋ฉด ์ฝ์ ์ถ๋ ฅ ๊ทธ๋ฆฌ๊ณ ํ๋ผ๋ฏธํฐ๊ฐ ๋น์ด์์ ์ ๋น์ด์๋ค๊ณ ์๋ ค์ฃผ๊ธฐ let doConsole = function(name? :string): void { if(typeof name === 'string'){ console.log(`์๋ ํ์ธ์ ${name}`); } else { console.log(`์ด๋ฆ์ด ์์ต๋๋ค.`) } } doConsole('์ฒ ์') ํ๋ผ๋ฏธํฐ๋ก ์ซ์ ํน์ ๋ฌธ์๋ฅผ ๋ฃ์ผ๋ฉด ์๋ฆฟ์ ์๋ ค์ฃผ๊ธฐ let doConsole = function(numish? :string | number): number { if(typeof numish === 'string'){ return numish.length; } else if(typeof numish === 'number') { ret..
ํ์ ์คํฌ๋ฆฝํธ ํ์ ์ ์ถ(Type Inference)
TypeScript๋ ์ ์ ํ์ ์ธ์ด๋ก, ๋ณ์, ๋งค๊ฐ๋ณ์, ๋ฐํ๊ฐ ๋ฑ์ ํ์ ์ ๋ช ์์ ์ผ๋ก ์ ์ธํ ์ ์๋ค. ๊ทธ๋ฌ๋ TypeScript๋ ํ์ ์ ์ถ(Type Inference)๋ผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ, ํ์ ์ ๋ช ์์ ์ผ๋ก ์ ์ธํ์ง ์์๋ ์ปดํ์ผ๋ฌ๊ฐ ์ฝ๋๋ฅผ ๋ถ์ํ์ฌ ํ์ ์ ์ ์ถํ ์ ์๋๋ก ํ๋ค. ๋ณ์ ์ ์ธ let myNumber = 10; // ์๋์ผ๋ก number ํ์ ์ผ๋ก ์ ์ถ let myString = "Hello"; // ์๋์ผ๋ก string ํ์ ์ผ๋ก ์ ์ถ ๋งค๊ฐ๋ณ์์ ๋ฐํ๊ฐ function add(x, y) { return x + y; // x์ y๋ฅผ ์๋์ผ๋ก any ํ์ ์ผ๋ก ์ ์ถ } let result = add(5, 10); // result๋ฅผ number ํ์ ์ผ๋ก ์ ์ถ ๋ฐฐ์ด๊ณผ ๊ฐ์ฒด let number..
[์ฝ๋ฉ์ ํ] ํ์ ์คํฌ๋ฆฝํธ ํ์ ์ง์ ๋ฐฉ๋ฒ
๋ณ์ ํ์ ์ง์ ํ๊ธฐ ์ผ๋ฐ ํ์ ์ง์ let ์ด๋ฆ :string = 'kim' //string, number, boolean, bigint, null, undefined,[], {} ์ฌ๋ฌ๊ฐ์ง ํ์ ์ง์ let ์ด๋ฆ :string | number = 'kim'; object ํ์ ์ง์ let ๋์ด :{ age : number } = { age : number } ํ๊บผ๋ฒ์ ํ์ ์ง์ ํ๊ธฐ type MyObject = { [key :string] : number, } let ์ฒ ์ :MyObject = { age : 50, weight : 100, } ์ด๋ค ์์ฑ์ด ๋ค์ด๊ฐ์ง ๋ชจ๋ฅผ ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. array ํ์ ์ง์ let ์ด๋ฆ :string[] = ['kim', 'park'] let ๋์ด :{ age : num..