Partial<T> esto que es en TypeScript?
Soy Ingeniero de Software con más de 10 años de experiencia. Después de pasar por gigantes como UBER estamos intentando mejorar el mundo de los seguros como desarrollador de Backend.
Unos días a tras me encontré esto en el codebase de la empresa donde trabajo.
applicationValues: Partial<ApplicationValues>;
Como ya he comentado anteriormente nunca había trabajado con un codebase en el backend completamente escrito en Javascript/Typescript. Esto va siendo un reto interesante por lo que he estado aprendiendo nuevas cosas sobre JS. Hoy le tocó a los Partials
Resulta que si tienes un clase/interfaz con X atributos obligatorios pero en algún escenario quieres solo usar o enviar/utilizar algunos atributos, es decir no todos dado que son obligatorios, aquí es donde el Partial te ayuda. Vemos un ejemplo para entender mejor.
interface User {
id: number;
name: string;
age: number;
}
function updateUser(user: Partial<User>): void {
// Function to update user information
}
// Example usage
const userUpdate: Partial<User> = {
name: "John"
};
updateUser(userUpdate);
Como vemos en este pequeño ejemplo nuestra interfaz User tiene 3 atributos obligatorios . Si en nuestra funcion updateUser solo usamos como atributo el User, tendríamos que enviar los 3 atributos.
function updateUser(user: User): void {
// funcion para actualizar el usuario
}
const userUpdate: User = {
id: 12345,
name: "Jhon",
age: 22,
};
Entonces usando el user: Partial<User> en nuestra función nos permite solo enviar los atributos que querramos.
Saludos a todos y happy coding.