JS Built-ins
TypeScriptintermediate

Generics β€” pick<T, K>

πŸ“– Usage Example
function pick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K> {
  const r = {} as Pick<T, K>
  for (const k of keys) r[k] = obj[k]
  return r
}

pick<T, K> uses keyof and Pick<T, K> to return a type-safe subset of an object.

Generics: pick<T, K extends keyof T>

Challenge: Implement pick<T, K extends keyof T>(obj: T, key: K): T[K] returning the value at key.

pick({ a: 1, b: 2 }, 'a')           // β†’ 1
pick({ name: 'Alice', age: 30 }, 'name')  // β†’ 'Alice'
πŸ’‘ Hints (1)
  • β€’ K extends keyof T guarantees the key exists β€” TypeScript will catch mistakes.