type HandleData<K extends string = string> = {
storageType: StorageType
keys: readonly K[]
}
위의 코드를 보고 generic을 어떻게 이해 해야할지 알아보았다.
Generic 타입 파라미터 K를 선언이고, 두가지 조건을 동시에 설정
1. K extneds string
- K는 문자열 타입이어야 한다.
- 즉, K는 'foo' | 'bar' 같은 문자열 리터럴 타입이 될 수 있고 그냥 string일 수 있다.
2. = string (기본 타입 설정)
- generic에 아무 값도 안 넣으면, K는 자동으로 string 타입이 된다.
- 즉, HandleData를 쓸 때 K를 명시하지 않으면 keys는 readonly string[]이 됨
정리
K는 문자열 계열 타입이어야 하고, 지정하지 않으면 string이 기본
'IT > typescript' 카테고리의 다른 글
| declare module '*.json' 의미 (3) | 2025.08.06 |
|---|---|
| [typescript] esModuleInterop (0) | 2025.07.09 |
| [typescript] WeakRef (0) | 2024.12.28 |
| [typescript] AtLeastOneRequired (0) | 2024.12.16 |
| [typescript] -? 의미 (0) | 2024.12.05 |