Partial<T> esto que es en TypeScript?
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.