Доки по разработке
This project is maintained by teniryte
Принципы
<T = string>), которые применяются при отсутствии явного типа.Component<T1 = string, T2 = any>) позволяют переопределять конкретные части.Пример
function firstOrNull<T = string>(array: T[]): T | null {
return array.length === 0 ? null : array[0];
}
interface Component<TName = string, TProps = any> {
name: TName;
props: TProps;
log: () => void;
}
const button: Component = {
name: 'Button',
props: { text: 'Save' },
log: () => console.log('Save button'),
};
Практика
Component<'Icon', { icon: string }>).props.text2 из примера вызовет ошибку, так как props типизирован как any. Добавьте строгий тип, чтобы избежать этого.<T extends object = Record<string, unknown>>) для безопасного доступа к свойствам.