interface Person {name: stringage: numbergender: string}class Teacher {constructor(private info: Person) {}getInfo<T extends keyof Person>(key: T): Person[T] {return this.info[key];}}const teacher = new Teacher({name: 'dell',age: 18,gender: 'male'});const test = teacher.getInfo('name');console.log(test);type Name = 'name'const abc: Name = 'hello' //errorconst abc: Name = 'name'
