Los tipos Partial
y Required
en TypeScript son utility types que te permiten crear un nuevo tipo basado en un tipo existente, pero haciendo que todas las propiedades de ese tipo sean opcionales u obligatorias.
Partial type en TypeScript
Utilizamos la siguiente expresión para definir un Partial
type: Partial<T>
. Esto genera un nuevo tipo que tiene todas las propiedades de T
, pero cada atributo es opcional. Veamos un ejemplo:
interface User {
id: number;
name: string;
email: string;
phoneNumber: string;
}
type PartialUser = Partial<User>;
let partialUser: PartialUser = {
id: 1,
name: 'Benjamin Hernández',
};
console.log(partialUser);
Hemos usado Partial
para hacer que todas las propiedades de User
sean opcionales. Por lo tanto, el nuevo tipo PartialUser
tiene las propiedades id
, name
, email
y phoneNumber
, pero todas ellas son opcionales.
Required type en TypeScript
Empleamos la siguiente expresión para definir un Required
type: Required<T>
. Esto genera un nuevo tipo que tiene todas las propiedades de T
, pero cada atributo es obligatoria. Veamos un ejemplo:
interface User {
id: number;
name: string;
email?: string;
phoneNumber?: string;
}
type RequiredUser = Required<User>;
let requiredUser: RequiredUser = {
id: 1,
name: 'Fatima Fernández',
email: '[email protected]',
phoneNumber: '343-545-789'
};
console.log(requiredUser);
Hemos empleado Required
para hacer que todas las propiedades de User
sean obligatorias. Por lo tanto, el nuevo tipo RequiredUser
tiene las propiedades id
, name
, email
y phoneNumber
, pero todas ellas son obligatorias.
Contribución creada por: Martín Álvarez (Platzi Contributor).
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?