Skip to content

Instantly share code, notes, and snippets.

@bennycode
Created May 15, 2022 23:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bennycode/3443627bfab762dd5fa3e200513d9345 to your computer and use it in GitHub Desktop.
Save bennycode/3443627bfab762dd5fa3e200513d9345 to your computer and use it in GitHub Desktop.
Generic Types and Inheritance in TypeScript
interface User {
name: string;
}
interface HappyUser extends User {
clap: () => void;
}
function printName<T extends User>(someone: T): T {
console.log(someone.name);
return someone;
}
const benny: HappyUser = {
name: 'Benny',
clap: (): void => {
console.log('👏');
}
};
const person = printName(benny);
person.clap();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment