Búsqueda de sitios web

javascript - Cómo omitir múltiples propiedades de manera sucinta usando Omit<>


En la siguiente definición de tipo estoy usando Omit dos veces para eliminar dos propiedades de la definición de B. Me gustaría saber si es posible usar solo un Omit pero eliminando dos o más propiedades de una sola vez.

export type A = Readonly<{
  x: number;
  y: number;
  j: string;
  k: string;
}>;

export type B = Omit<A, 'j'> & Omit<A, 'k'>

Respuesta #1

Solo necesitas usar una unión como el segundo parámetro de tipo para eliminar todos los constituyentes en la unión del primer parámetro de tipo:

export type A = Readonly<{
  x: number;
  y: number;
  j: string;
  k: string;
}>;

export type B = Omit<A, 'j' | 'k'>
// Same as
// type B = {
//     readonly x: number;
//     readonly y: number;
// }

jugar

Artículos relacionados