λ¨μΌ μ νμ΄ μλ λ€μν μ νμμ μλλ μ μλ μ»΄ν¬λ¨ΌνΈ μμ±μ΄ κ°λ₯νλ€.
  function identity(arg: number): number {
    return arg;
  }λ§μ½ λ¬Έμλ₯Ό μ λ ₯νλ κ²½μ°μλ λ¬Έμμ©μΌλ‘ μ ν¨μλ₯Ό μμ±ν΄μΌλλ€.
  function identity(arg: any): any {
    return arg;
  }any μ νμ μ¬μ©νμ¬ λ§λ€μ΄λ λμ§λ§ λ°νλ λ ν΄λΉ μ νμ μ λ³΄κ° μμ€λμ΄λ μ μμ μΌλ‘ λ°νμ΄ λ μ μλ€λ λ¬Έμ κ° μλ€.
  function identity<T>(arg: T): T {
    return arg;
  }identity ν¨μμ βTβ λΌλ μ νλ³μλ₯Ό argμμ μΊ‘μ²νμ¬ returnν λ μ¬μ©νλ€. μ΄λ‘μΈν΄ λ°νμλλ λμΌν μ νλ§ λ°ν κ°λ₯νλ€.
  identity<'string'>('hello world!!')identity ν¨μλ₯Ό νΈμΆν λ λ¨Όμ  νμ μ μ μΈνλ λ°©λ²μ΄λ€
  identity('hello world!!')μ λ ₯λ°μ argamentμ νμ μ μ μΆν΄ λ΄λ λ°©λ²μ΄λ€. μ»΄νμΌλ¬κ° μ μΆνμ§ λͺ»νλ κ²½μ°κ° μλλΌλ©΄ μ΄λ κ² μ°λκ² μ½κΈ° λ μ½κΈ° μ¬μ 보μΈλ€.
  interface Animal {
    name: string;
  }
  function identity<T extends Animal>(arg: T): T {
    return arg;
  }λ§μ½ identityμ βnameβμ΄λΌλ μμ±μ΄ μλ μ νμΌλ‘ μ ννκ³ μΆλ€λ©΄ β.nameβ μμ±μ κ°μ§ interfaceλ₯Ό λ§λ€κ³ extendsλ‘ μ μ½ μ‘°κ±΄μ λνλ΄λ©΄ λλ€.