image

6๊ฑด์˜ ํ•ญ๋ชฉ

  • 2024๋…„ 8์›” 20์ผ

    Interface ์ •์˜ TypeScript์—์„œ Object(๊ฐ์ฒด)์˜ ํƒ€์ž…์„ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•จ ์ƒํ˜ธ๊ฐ„์— ์ •์˜ํ•œ ์•ฝ์† ํ˜น์€ ๊ทœ์น™์„ ์˜๋ฏธ Object ์ •์˜ ๋ฒ”์ฃผ ๊ฐ์ฒด์˜ ์ŠคํŽ™(์†์„ฑ๊ณผ ์†์„ฑ์˜ ํƒ€์ž…) ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ํ•จ์ˆ˜์˜ ์ŠคํŽ™(ํŒŒ๋ผ๋ฏธํ„ฐ, ๋ฐ˜ํ™˜ ํƒ€์ž… ๋“ฑ) ๋ฐฐ์—ด๊ณผ ๊ฐ์ฒด๋ฅผ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹ ํด๋ž˜์Šค ์˜ˆ์‹œ ์ธํ„ฐํŽ˜์ด์Šค interface IProfile { name: ...

  • 2024๋…„ 8์›” 20์ผ

    Decorator ์ •์˜ TypeScript์—์„œ ์‹คํ—˜์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌ์กฐ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ๊ธฐ์กด ๊ฐ์ฒด์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด tsconfig.json compilerOptions์— "experimentalDecorators": true๋ฅผ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ...

  • 2024๋…„ 8์›” 20์ผ

    ์ ‘๊ทผ ์ œํ•œ์ž์— ๋Œ€ํ•œ ์ •์˜ ๋ณ€์ˆ˜, ๋ฉ”์†Œ๋“œ๋ช… ์•ž์— ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, ์ž์‹ ํด๋ž˜์Šค๋‚˜ ์™ธ๋ถ€ ๋“ฑ์—์„œ ์ ‘๊ทผ/์ˆ˜์ •์„ ๊ฐ€๋Šฅ ๋˜๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ์ง€์ •ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ํ•จ TypeScript์—๋Š” public, private, protected, readonly๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ ‘๊ทผ ๊ถŒํ•œ Public ๊ตฌ๋ถ„๋ณธ์ธ ํด๋ž˜์Šค์ž์‹ ํด๋ž˜์Šค์™ธ๋ถ€์ฝ๊ธฐOOO์ˆ˜์ •OOO Private ๊ตฌ๋ถ„๋ณธ์ธ ํด๋ž˜์Šค์ž์‹ ํด๋ž˜์Šค์™ธ๋ถ€์ฝ๊ธฐOXX์ˆ˜์ •OXX Protected ๊ตฌ๋ถ„๋ณธ์ธ ํด๋ž˜์Šค์ž์‹ ํด๋ž˜์Šค์™ธ๋ถ€์ฝ๊ธฐOOX์ˆ˜์ •OOX Readonly ๊ตฌ๋ถ„๋ณธ์ธ ํด๋ž˜์Šค์ž์‹ ํด๋ž˜์Šค์™ธ๋ถ€์ฝ๊ธฐOOO์ˆ˜์ •XXX ์ค‘๋ณต ์‚ฌ์šฉ ์ ‘๊ทผ ์ œํ•œ์ž๋ฅผ ๋‘๊ฐœ ์ด์ƒ ์ค‘๋ณตํ•˜์—ฌ ์ ์šฉ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • 2024๋…„ 8์›” 20์ผ

    ํƒ€์ž… ์ถ”๋ก  TypeScript๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ ๋”ฐ๋กœ ํƒ€์ž…์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํƒ€์ž…์„ ์ถ”๋ก ํ•˜์—ฌ ์„ค์ •ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋•๋ถ„์— ์ดํ›„ ๋‹ค๋ฅธ ํƒ€์ž…์„ ๋„ฃ์œผ๋ฉด ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. let aaa = '์•ˆ๋…•ํ•˜์„ธ์š”' // aaa์˜ ํƒ€์ž…์„ String์ด๋ผ๊ณ  ์ถ”๋ก ํ•จ aaa = '๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค' aaa = 3 // ๐Ÿšจ ๋‹ค๋ฅธ ํƒ€์ž…์„ ๋„ฃ๊ฒŒ๋˜๋ฉด ์—๋Ÿฌ ๋ฐœ์ƒ! ํƒ€์ž… ๋ช…์‹œ : ๋’ค์˜ ํƒ€์ž…๋ช…์œผ๋กœ ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ง์ ‘ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • 2024๋…„ 8์›” 20์ผ

    ํ•ด๋‹น ์„ค์ • ๋ฐฉ๋ฒ•์€ Yarn ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋งŒ์ผ NPM์„ ํ†ตํ•ด ๊ธฐ๋ณธ ์„ค์ •์„ ์›ํ•˜์‹ ๋‹ค๋ฉด NPM ๊ธ€๋กœ ์ด๋™ํ•˜์—ฌ NPM์— ๋งž๊ฒŒ ๋ช…๋ น์–ด๋ฅผ ์น˜ํ™˜ํ•˜์—ฌ ์ง„ํ–‰ํ•˜์—ฌ ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆ ์„ค์น˜ TypeScript์—์„œ jest๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ๊ทธ๋ƒฅ jest๋งŒ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ts-jest ์™€ @types/jest๋„ ์„ค์น˜ํ•ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • 2024๋…„ 8์›” 20์ผ

    ํ•ด๋‹น ์„ค์ • ๋ฐฉ๋ฒ•์€ Yarn ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋งŒ์ผ NPM์„ ํ†ตํ•ด ๊ธฐ๋ณธ ์„ค์ •์„ ์›ํ•˜์‹ ๋‹ค๋ฉด NPM ๊ธ€๋กœ ์ด๋™ํ•˜์—ฌ NPM์— ๋งž๊ฒŒ ๋ช…๋ น์–ด๋ฅผ ์น˜ํ™˜ํ•˜์—ฌ ์ง„ํ–‰ํ•˜์—ฌ ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. TypeScript ๋ชจ๋“ˆ ์„ค์น˜ yarn add --dev @types/node typescript TypeScript ์„ค์ • ํŒŒ์ผ ์ƒ์„ฑ(tsconfig.json) yarn tsc --init ๋นŒ๋“œ ํŒŒ์ผ ์ƒ์„ฑ ๊ฒฝ๋กœ ์ง€์ • ์ƒ์„ฑ๋œ tsconfig.jsonํŒŒ์ผ์—์„œ ์Šคํฌ๋กค์„ ๋‚ด๋ฆฌ๋ฉด ์—ฌ๋Ÿฌ ์ฃผ์„๋œ ์ค„ ์ค‘ outDir์„ ์„ค์ •ํ•˜๋Š” ์ค„์ด ์žˆ์Šต๋‹ˆ๋‹ค.