Dev Highlights

Доки по разработке

This project is maintained by teniryte

Оператор keyof

Принципы

Пример

export class User {
  constructor(public name: string, public age: number) {}
}

function getValue<T, K extends keyof T>(obj: T, key: K) {
  return obj[key];
}

const user: User = { name: 'John', age: 30 };
console.log(getValue(user, 'name')); // "John"
// getValue(user, 'gender'); // Ошибка: ключ не входит в keyof

Практика