#typescript #typescript-generics
Вопрос:
Использование машинописного текста 4.3.5
Есть идеи, как я могу указать тип, созданный из общедоступных членов/свойств другого? Считать:
class Thing {
public name: string
private secret: string
public greet(): string {}
private curse(): string {}
}
Теперь я хотел бы определить этот тип:
type PublicProps<Thing> = {
name: string
greet(): string
}
Как мне сделать это общим?
type PublicProps<T> = ?
Комментарии:
1. Попробуй
type PublicProps<T> = {[key in keyof T]: T[key]}
. Это будет работать, потому что частная собственность не включена вkeyof T
2. @AlexChashin, ты прав. Если хотите, опубликуйте это как ответ, и я его выберу.