TypeScript 3

[TypeScript] Record๋ž‘ Interface ๋ญ๊ฐ€ ๋‹ค๋ฅด์ง€ .. ?

โœจ RecordK๋Š” key, T๋Š” value๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.๊ทธ๋ž˜์„œ Record๋Š” ์‚ฌ์‹ค์ƒ key์™€ value์˜ ํƒ€์ž…์„ ์ง€์ •ํ•œ๋‹ค.type User = Record;const userAge: User = { Alice: 25, Bob: 30, Charlie: 22,}; ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด ๋ฐ”๋กœ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด๋ฐ ์—ฌ๊ธฐ์„œ key๋Š” String, ๊ฐ’์€ Number๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. type StatusCodes = Record;const status: StatusCodes = { success: "Operation was successful", error: "There was an error", loading: "Loading...",};์ด๋ ‡๊ฒŒ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ key๋ฅผ ์ •์˜ํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ,key์—๋Š”  "success",..

TypeScript 2025.03.07

[TypeScript] unknown vs any

unknown : ์–ด๋–ค ํƒ€์ž…์ด ๋ ์ง€ ์ „ํ˜€ ๋ชจ๋ฅผ ๋•Œ ์‚ฌ์šฉany : ๋ชจ๋“  ํƒ€์ž…์ด ๋  ์ˆ˜ ์žˆ์Œ ?????????๋„๋Œ€์ฒด ๋ฌด์Šจ ์ฐจ์ด์ง€? ์–ด๋–ค ํƒ€์ž…์ด ๋ ์ง€ ๋ชจ๋ฅผ ๋•Œ ์‚ฌ์šฉ ? ๊ทธ๋Ÿผ ๋ชจ๋“  ํƒ€์ž…์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑฐ๋‹ˆ๊นŒ any๋ฅผ ์จ๋„ ๋˜์ž–์•„๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ํƒ€์ž…์ด ๋ ์ง€ ๋ชจ๋ฅด๋‹ˆ๊นŒ unknown์„ ์จ๋„ ๋˜๊ณ  .. ? ๐Ÿซ โ“โ“ unknown vs any: ์ด ๋‘˜์˜ ์ฐจ์ด๊ฐ€ ๋„๋Œ€์ฒด ๋ญ์•ผ? unknown: ํƒ€์ž…์„ ๋ชจ๋ฅธ๋‹ค๊ณ  ์„ ์–ธํ•˜๋Š” ๊ฒƒunknown์€ ํƒ€์ž…์„ ๋ชจ๋ฅด์ง€๋งŒ, ๋‚˜์ค‘์— ํƒ€์ž…์„ ํ™•์‹คํžˆ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ unknown ํƒ€์ž…์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํƒ€์ž…์„ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ๋ช…์‹œ์ ์œผ๋กœ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.let data: unknown = "Hello";data = 42; // ๋‹ค๋ฅธ ํƒ€์ž…๋„ ํ• ๋‹น ๊ฐ€๋Šฅ// ์‚ฌ์šฉํ•  ๋•Œ..

TypeScript 2025.03.06

[TypeScript] TypeScript ์™œ ์“ธ๊นŒ์š”?

โœณ๏ธ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ฐจ์ด์ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋™์ ์ธ ์–ธ์–ด๋กœ, ๋ณ€์ˆ˜์˜ ํƒ€์ž…์ด ๋Ÿฐํƒ€์ž„์— ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ํƒ€์ž…์„ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ณ  ์ฝ”๋“œ ์‹คํ–‰ ์ค‘์— ๋ณ€์ˆ˜์˜ ํƒ€์ž…์ด ๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ ์œ ์—ฐํ•จ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ๋™์‹œ์— ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ๋„ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. 1. ํƒ€์ž… ์˜ค๋ฅ˜๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•˜๊ธฐ ์–ด๋ ต๋‹ค์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ๋ฏธ๋ฆฌ ์ฒดํฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ํƒ€์ž…๊ณผ ๊ด€๋ จ๋œ ์˜ค๋ฅ˜๊ฐ€ ์ฝ”๋“œ ์‹คํ–‰ ์ค‘์—์•ผ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆซ์žํ˜• ๊ฐ’์— ๋ฌธ์ž์—ด์„ ๋”ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์ด๋ฅผ ๋Ÿฐํƒ€์ž„์—์„œ ํ™•์ธํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ ์ค‘ ์‹ค์ˆ˜๊ฐ€ ์‰ฝ๊ฒŒ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ด๋Ÿฐ ์˜ค๋ฅ˜๋Š” ๋ณดํ†ต ๋””๋ฒ„๊น…์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋””๋ฒ„๊น… ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๊ณ  ์ƒ์‚ฐ์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. ๋ฆฌํŒฉํ† ๋ง ์‹œ ์˜ค๋ฅ˜๋ฅผ ๋†“์น  ์ˆ˜ ์žˆ๋‹ค์ž๋ฐ”์Šคํฌ๋ฆฝ..

TypeScript 2025.03.06