TypeScript proporciona una serie de tipos de utilidades que se utilizan para resolver un problema particular que crea el uso de tipos en Javascript. Un tipo de utilidad muy útil que se usa en TypeScript es el tipo Omit, que nos permite personalizar un tipo ya existente. Veamos cómo funciona. Tipos personalizados Este artículo asume que sabe cómo crear tipos personalizados en TypeScript. Si no lo hace, lea mi artículo sobre tipos personalizados aquí. TypeScript Omitir tipo En TypeScript, a menudo creamos tipos personalizados que nos permiten garantizar que los datos se ajusten a un formato específico. Por ejemplo, si quisiéramos crear un tipo de usuario personalizado que tenga cuatro campos: , , y , podríamos hacer algo como esto: firstName lastName age lastActive type User = { firstName: string; lastName: string; age: number; lastActive: number; } Lamentablemente, la codificación no siempre es sencilla. A veces, queremos usar nuestro tipo nuevamente, pero eliminar ciertos elementos de él, creando así un nuevo tipo. Para hacer esto, podemos usar . Omitir acepta dos valores: Omit<Type, Omissions> El tipo en el que basar nuestro nuevo tipo Un tipo de unión que enumera todos los campos para eliminar. Por ejemplo, si queremos tomar nuestro tipo de usuario y eliminar la edad y el último activo, podríamos hacer lo siguiente: type User = { firstName: string; lastName: string; age: number; lastActive: number; } type UserNameOnly = Omit<User, "age" | "lastActive"> Ahora, tenemos dos tipos: , que es nuestro tipo de usuario principal, y , que es nuestro tipo de usuario menos y . Del mismo modo, si solo quisiéramos eliminar la , esto sería suficiente: User UserNameOnly age lastActive age type UserNameAndActive = Omit<User, "age"> Ahora, podemos usar nuestros nuevos tipos en cualquier parte de nuestro código. Esto nos da la flexibilidad de usar un tipo y transformarlo para circunstancias específicas. Aquí hay un ejemplo que usa nuestros dos nuevos tipos: type User = { firstName: string; lastName: string; age: number; lastActive: number; } type UserNameOnly = Omit<User, "age" | "lastActive"> type UserNameAndActive = Omit<User, "age"> const userByName:UserNameOnly = { firstName: "John", lastName: "Doe", }; const userWithoutAge:UserNameAndActive = { firstName: "John", lastName: "Doe", lastActive: -16302124725 } También publicado aquí