Web Dev/ELICE

24 :: TypeScript Generic, Constraints, keyof

HJPlumtree 2021. 11. 26. 11:13

엘리스 SW 엔지니어 트랙 24일차

온라인 강의날

 

 

어제 실시간 강의에서 배운

Interface와 Generic 복습

 

일찍 끝나면

실제로 타입스크립트 이용해서

만들어봐야지 or 만드는 방법 해봐야지!

 

 

Generic

Constraints(제약조건)

=> extends 이용한다

extends로 string or number로 제한하는 예시

// Constraints => extends 이용
const printMessage = <T extends string | number>(message: T): T => {
    return message
}

printMessage<String>("1")  // Good
printMessage<Number>(1)  // Good
printMessage<Boolean>(false)  // Error

 

 

keyof

  1. 두 개의 타입 T와 U가 있다
  2. 첫 번째 타입 T에 오브젝트를 입력받고
  3. U의 타입은 T의 keyof를 하면
  4. T가 가진 key가 U의 타입이 되어버린다
const getProperty = <T extends obejct, U extends keyof T>(obj: T, key: U) => {
	return obj[key]
}

// 즉 U는 a 혹은 b 혹은 c 여야 되는거다
getPropertY({a:1, b:2, c:3}, "a")  // Good
getPropertY({a:1, b:2, c:3}, "k")  // Error

 

 

복습 완료!

타입스크립트 실전으로 들어가기전에

파이썬 강의좀 들어야겠다

 

자바스크립트로 비추한다는

강사님의 말씀에 

알고리즘은

파이썬으로 도전!

 

 

limit by Joshua Hoehne #unsplash