interface Person {
name: string
age: number
}
paims key
type PersonKeys = keyof Person // 'name' | 'age'
Leistinos reikšmės tik keyl
et key: PersonKeys = 'name'
key = 'age'
Negalima reikšmė:
key = 'job'
type User = {
_id: number
name: string
email: string
createdAt: Date
}
Kas lieka:
type UserKeysNoMeta1 = Exclude<keyof User, '_id' | 'createdAt'> // kas lieka: 'name' | 'email'
Kas išvardinta
type UserKeysNoMeta2 = Pick<User, 'name' | 'email'> // tik 'name' | 'email'
let u1: UserKeysNoMeta1 = 'name'
klaida
ul = '_id'