SyntaxStudy
Sign Up

Generics

class

Generics create reusable components that work with multiple types while maintaining type safety.

Syntax

function fn<T>(arg: T): T { return arg; }

Example

javascript
// Generic function
function identity<T>(arg: T): T {
    return arg;
}
identity<string>('hello');  // returns string
identity<number>(42);       // returns number

// Generic interface
interface ApiResponse<T> {
    data: T;
    status: number;
    message: string;
}

type UserResponse = ApiResponse<User>;
type ListResponse = ApiResponse<User[]>;

// Constrained generic
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
    return obj[key];
}