Creating Types from Types

차분한열정·2021년 7월 4일
0

타입스크립트 정리

목록 보기
14/15

1. Generics

제네릭 함수를 설정하고 호출할 때는

타입파라미터를 이런 식으로 지정하고 호출해도 되고, 그렇게 하지 않아도 타입스크립트가 type argument inference를 해주기도 한다. 하지만 복잡한 코드에서라면 inference가 안 되는 경우도 있으므로 이럴 때는 명시적인 타입 파라미터 지정이 필요할 것이다.

배열을 나타낼 때는

이런 식으로 Type[] 또는 Array 이렇게 나타낼 수 있다.

제네릭 클래스의 경우 이렇게 나타내면 된다.

이때 유의해야할 점은 제네릭 클래스에서 이런 타입 파라미터는 instance side와만 관련이 있고, static side랑은 관련이 없다는 점이다. 그러니까 static 멤버들은 클래스의 타입 파라미터를 사용할 수 없다.

참고로 제네릭에 constraint를 둘 때 타입 파라미터를 이런 식으로도 사용할 수 있다.

현재 x에 존재하지 않는 m이라는 키 값을 사용하려고 했기 때문에 에러가 뜬 것이다.

그리고 이런 식으로 constructor function을 표시해서 사용하는 것도 가능하다.

2. keyOf type operator

object 타입을 대상으로 작동하는 연산자로

지금 위의 코드에서는 type A가 number이지만

아래 코드에서는 type M이 string | number이다. 그 이유는 자바스크립트 개겣의 키는 항상 string으로 강제되기 때문이다. 그러니까 obj[0]은 항상 obj["0"]과 같다.

... To be continued

3. Typeof

4. Indexed Access Types

5. Conditional Types

6. Mapped Types

7. Template Literal Types

profile
성장의 기쁨

0개의 댓글