Closed Klomachenko closed 1 year ago
타입 Assertion에서 as를 활용할때는 넓은 범위의 타입 데이터를 받을 때, 해당 타입을 특정 제너릭 타입으로 고정시킬때 좋습니다.
type ListBlockProps<T extends Record<string, unknown>> = { data: T[]; } function ListBlock<T extends Record<string, unknown>>({ data = [] }: ListBlockProps<Record<string, any>>): ReactElement) { function removeItem (index): void { const updatedData: T[] = [...data] as T[] const [removedItem] = updatedData.splice(index, 1) onChange({ data: updatedData, action: 'REMOVED', target: removedItem, index }) } //... 후략 }
물론 너무 과도한 사용이긴 합니다.
이번엔 저번에 윤생님과 채승님께서 타입 지정에 대해서 조금 더 공부해보라고 하신
Narrowing을 공부하였고 그중에 Assertion까지 공부를 해 보았습니다.
추가로 Fucntion 도 조금 공부해 보았으니 확인해주시면 감사하겠습니다.