Sobes.tech

Frontend

/** * getObjField funktsiyasi uchun tiplashni yozing * * @param obj - Qiymatni olish uchun obyekt * @param key - Olish uchun kalit * @returns Ob'ekt ichidagi kalitga mos keladigan qiymat */ type Obj = { name: string; age: number; }; const getObjField = <K extends keyof Obj>(obj: Obj, key: K): Obj[K] => { return obj[key]; }; const user: Obj = { name: "Nik", age: 25 }; const value1 = getObjField(user, "name"); const value2 = getObjField(user, "age"); const value3 = getObjField(user, "test"); // Xato: Argument turi '"test"' 'keyof Obj' turiga mos kelmaydi.

176

type Obj = { nom: string yosh: number } const getObjField = (obj: any, key: any) => { return obj[key] } const user: Obj = { nom: "Nik", yosh: 25 } const value1 = getObjField(user, "nom") const value2 = getObjField(user, "yosh") const value3 = getObjField(user, "test") const getObjField = <T, K extends keyof T>(obj: T, key: K) => { return obj[key] }

170
/4