"제네릭에 제약을 거는 부분이 복잡해졌는데, 타입 매개변수를 선언할 때 바로 <[T] extends [string]>하는 것이 불가능하므로 한 번 더 컨디셔널 타입으로 묶어 선언한 것입니다."
라고 쓰여져 있는데 제가 이해한 바로는 제너릭에서 타입 매개변수 선언 시extends는 사용 가능하고, 조건부 타입은 사용이 불가능하다고 이해해서 "<[T] extends [string]>하는 것이 불가능한 것"이 아니라 "<[T] extends [string] ? string : never)>하는 것이 불가능한 것"이라고 해야 하는 것 아닌가 라고 생각되는데 제가 잘못 이해한 것인가요?
책에는
"제네릭에 제약을 거는 부분이 복잡해졌는데, 타입 매개변수를 선언할 때 바로 <[T] extends [string]>하는 것이 불가능하므로 한 번 더 컨디셔널 타입으로 묶어 선언한 것입니다."
라고 쓰여져 있는데 제가 이해한 바로는 제너릭에서 타입 매개변수 선언 시extends는 사용 가능하고, 조건부 타입은 사용이 불가능하다고 이해해서 "<[T] extends [string]>하는 것이 불가능한 것"이 아니라 "<[T] extends [string] ? string : never)>하는 것이 불가능한 것"이라고 해야 하는 것 아닌가 라고 생각되는데 제가 잘못 이해한 것인가요?