๐ŸŒ• Front/๐ŸŽซ Typescript ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

ํ•ด๋‹น ๊ธ€ 10๊ฑด

[์ƒ์„ฑ์ž] 1. ๋ชจ๋“  class๋Š” constructor๋ฅผ ๊ฐ€์ง 2. constructor๋Š” class๋กœ๋ถ€ํ„ฐ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํ˜ธ์ถœ๋˜๋ฉฐ ๊ฐ์ฒด์˜ ์ดˆ๊ธฐํ™”๋ฅผ ๋‹ด๋‹น ํด๋ž˜์Šค์•ˆ์— ์ปจ์ŠคํŠธ๋Ÿญํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” ํŒŒ๋ผ๋ฉ”ํ„ฐ๋กœ ๋„ฃ๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๋Š” ์žฅ์ ์ด ์žˆ์Œ ์ด๊ฑฐ ์ž๋ฐ”๋ž‘ ๋˜‘๊ฐ™์€๋ฐ [access modifiers ์ ‘๊ทผ์ œํ•œ์ž] ํด๋ผ์Šค ์† ๋ฉค๋ฒ„ ๋ณ€์ˆ˜(ํ”„๋กœํผํ‹ฐ)์™€ ๋ฉ”์†Œ๋“œ์— ์ ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ‚ค์›Œ๋“œ ํด๋ผ์Šค ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ์˜ ์ ‘๊ทผ์„ ํ†ต์ œ public: class์„ ์–ธํ•  ๋•Œ ๋””ํดํŠธ์ž„ private: ํด๋ผ์Šค๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ protcted: ํด๋ผ์Šค๋‚ด๋ถ€, ์ƒ์†๋ฐ›์€ ์ž์‹ ํด๋ผ์Šค์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ ํด๋ž˜์Šค๋‚ด ํ”„๋กœํผํ‹ฐ์—์„œ๋„ ์ ‘๊ทผ์ œํ•œ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ private fullname: string ํ•˜๋ฉด 1) ์™ธ๋ถ€ํด๋ž˜์Šค์—์„œ ์ฝ๊ธฐ/์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅ 2) ๊ทธ..

Typescript  ์“ฐ๋Š” ์ด์œ 1. ์•ˆ์ •์ ์ด๋‹ค. ๋†’์€ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”๊ฐ€ ํ•„์š”ํ•  ๋•Œ,  ํ”„๋กœ๊ทธ๋žจ์— ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฌธ์„œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.2. ํƒ€์ž… ์—๋Ÿฌ๋ฅผ ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ๋ฏธ๋ฆฌ ๊ฒ€์ถœํ•˜์—ฌ ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ๋‹ค.  (๋Ÿฐํƒ€์ž„ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋กœ ์ธํ•ด ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉˆ์ถ˜๋‹ค๋ฉด, ์šด์˜๋˜๋Š” ์„œ๋น„์Šค์— ํฐ ์ฐจ์งˆ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.)3. ํƒ€์ž…์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ช…์‹œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ์œ ๋ฆฌํ•˜๋‹ค.   Typescript์˜ ํŠน์ง•1. ์ปดํŒŒ์ผ๋Ÿฌ: ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ ๋™์‹œ์— Javascript๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๋‹ค.2. ํƒ€์ž… ๋ช…์‹œ: ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ, ํƒ€์ž…์„ ๋ช…์‹œํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •3. ํƒ€์ž… ์ถ”๋ก (contextual typing): ์ •์  ํƒ€์ดํ•‘์„ ํ†ตํ•ด ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.const sum = (a: number, b: number..