๐Ÿ“˜ 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..