TypeScript 2

[TypeScript] Generics

์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์€ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง์—์„œ์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ฃผ์š” ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ ์ œ๋„ค๋ฆญ์ž…๋‹ˆ๋‹ค. ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•ด์„œ ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ์™€ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์–ด๋–ค ์ ์ด ๋‹ค๋ฅธ์ง€ ์•Œ์•„ ๋ด…์‹œ๋‹ค. ๐Ÿคฏ ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ 1. string ํƒ€์ž…์˜ ์ธ์ž๋งŒ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ function getText(text: string): string { return text; } getText ํ•จ์ˆ˜๋Š” string ํƒ€์ž…์˜ text๋งŒ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ getText ํ•จ์ˆ˜์— string ํƒ€์ž…์„ ์ œ์™ธํ•œ ํƒ€์ž…์˜ text๋ฅผ ๋„˜๊ธด๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? function getText(text: string): string { return tex..

TypeScript 2021.12.22

[TypeScript] type vs interface

ํƒ€์ž…์„ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. type๊ณผ interface ์ธ๋ฐ์š”, ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ด…์‹œ๋‹ค. 1. type vs interface ๐Ÿ“š ํƒ€์ž…์„ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• type์€ & ์—ฐ์‚ฐ์ž, interface๋Š” extends ํ‚ค์›Œ๋“œ๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. interface IStudent2 extends IStudent { age: number; } type TStudent2 = TStudent & { age: number; }; ๐Ÿ“ ์„ ์–ธ์  ํ™•์žฅ interface์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๋Šฅ๋“ค์€ type์—์„œ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ํ•œ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์ฐจ์ด์ ์€ type์€ ์ƒˆ๋กœ์šด ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์‹œ ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ์„ ์–ธํ•  ์ˆ˜ ์—†์ง€๋งŒ, interface๋Š” ํ•ญ์ƒ ์„ ์–ธ์  ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. int..

TypeScript 2021.12.22
๋ฐ˜์‘ํ˜•