Sobes.tech
Middle+

Кадом намудҳои utility дар TypeScript-ро мешиносӣ?

sobes.tech AI

Ҷавоб аз AI

Дар TypeScript вуҷуд доранд чанд навъи utility муфид, ки кӯмак мекунанд дар трансформатсия ва ҳамҷоя кардани навъҳо:

  • Partial<T> — ҳамаи хосиятҳои T-ро интихобнопазир мекунад.
  • Required<T> — ҳамаи хосиятҳои T-ро ҳатмӣ мекунад.
  • Readonly<T> — ҳамаи хосиятҳои T-ро танҳо барои хондан мекунад.
  • Record<K, T> — навъи объектро бо калидҳои K ва арзишҳои T месозад.
  • Pick<T, K> — як зернавъи хосиятҳои K-ро аз T интихоб мекунад.
  • Omit<T, K> — хосиятҳои K-ро аз T хориҷ мекунад.
  • Exclude<T, U> — аз T ҳама навъҳое, ки бо U мувофиқанд, хориҷ мекунад.
  • Extract<T, U> — аз T танҳо он навъҳоро интихоб мекунад, ки бо U мувофиқанд.
  • NonNullable<T>null ва undefined-ро аз T хориҷ мекунад.
  • ReturnType<T> — навъи баргардонидани функсияи T-ро мегирад.
  • Parameters<T> — кортежи навъҳои параметрҳои функсияи T-ро мегирад.

Масалан, истифодаи Partial:

interface User {
  id: number;
  name: string;
  email: string;
}

const updateUser = (user: Partial<User>) => {
  // танҳо қисмҳои муайянро метавон супорид
};

updateUser({ name: "Alice" });

Ин навъҳо кӯмак мекунанд, ки кодро бештар баёнӣ ва бехатартар навишт.