Dream๐Ÿฐng
article thumbnail
[TS] Generics 2๏ธโƒฃ
๐Ÿ“ Study/TypeScript 2023. 3. 17. 12:07

Generics 2๏ธโƒฃ Keyof Constraint ์ œ๋„ค๋ฆญ์œผ๋กœ ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ œ์•ฝ ์กฐ๊ฑด์„ ์ค„ ๋•Œ, ํ‚ค ๊ฐ’์„ ํ•„์š”๋กœ ํ•œ๋‹ค๋ฉด keyof๋ฅผ ์‚ฌ์šฉํ•œ ์ œ์•ฝ ์กฐ๊ฑด์„ ์“ฐ๋ฉด ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. function extractAndConvert( obj: T, key: U ) { return 'Value: ' + obj[key]; } extractAndConvert({}, 'name'); // Error occurred ์ œ๋„ค๋ฆญ T์˜ ์ œ์•ฝ ์กฐ๊ฑด์œผ๋กœ object๋ฅผ ์„ค์ •ํ•ด์ฃผ์—ˆ๊ณ , U์˜ ์ œ์•ฝ ์กฐ๊ฑด์œผ๋กœ T์˜ key๋ฅผ ์„ค์ •ํ•ด์ฃผ์—ˆ๋‹ค. extractAndConvert๋กœ ๋นˆ ๊ฐ์ฒด({})์™€ name์ด๋ผ๋Š” ๋ฌธ์ž์—ด์„ ์ „๋‹ฌํ–ˆ์„ ๋•Œ, ๋นˆ ๊ฐ์ฒด์—๋Š” name์ด๋ผ๋Š” ํ‚ค ๊ฐ’์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค! ์ œ๋„ค๋ฆญ์œผ๋กœ U extends keyof..

article thumbnail
[TS] Generics 1๏ธโƒฃ
๐Ÿ“ Study/TypeScript 2023. 3. 16. 18:51

Generics 1๏ธโƒฃ What is Generics? ์ œ๋„ค๋ฆญ์€ vanilla JavaScript์—๋Š” ์—†๊ณ  TypeScript์—๋งŒ ์žˆ๋Š” ๊ฐœ๋…์œผ๋กœ, ํŠน์ • ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์—ฌ ํƒ€์ž… ์•ˆ์ „์„ฑ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. TypeScript์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์ œ๋„ค๋ฆญ ํƒ€์ž…์œผ๋กœ๋Š” Array, Promise๊ฐ€ ์žˆ๋‹ค. // Array const names: Array = []; /* Array์— ๋Œ€ํ•œ ํƒ€์ž…์„ string์œผ๋กœ ์ง€์ •ํ•˜๋ฉด(= Generic) ์•ž์œผ๋กœ names ๋ฐฐ์—ด์— ๋“ค์–ด์˜ฌ ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์ด string์ž„์„ ์ถ”๋ก ํ•จ */ // Promise const promise: Promise = new Promise((resolve, reject) => { setTimeout(() => { resolve(10); ..

profile on loading

Loading...