paint-brush
Explicación del tipo de omisión de TypeScriptpor@smpnjn
10,311 lecturas
10,311 lecturas

Explicación del tipo de omisión de TypeScript

por Johnny Simpson2022/04/26
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

TypeScript proporciona una serie de tipos de utilidades que se utilizan para resolver un problema particular utilizando 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. A veces, queremos usar nuestro tipo nuevamente, pero eliminar ciertos elementos de él, creando así un nuevo tipo. Omitir acepta dos valores: Tipo en el que basar nuestro nuevo tipo, Tipo de unión que enumera todos los campos para eliminar. Esto nos da la flexibilidad de usar un tipo y transformarlo para circunstancias específicas.
featured image - Explicación del tipo de omisión de TypeScript
Johnny Simpson HackerNoon profile picture


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: firstName , lastName , age y lastActive , podríamos hacer algo como esto:


 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 Omit<Type, Omissions> . Omitir acepta dos valores:


  • 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: User , que es nuestro tipo de usuario principal, y UserNameOnly , que es nuestro tipo de usuario menos age y lastActive . Del mismo modo, si solo quisiéramos eliminar la age , esto sería suficiente:


 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í