Artículos
Typescript

Interfaces con propiedades opcionales en TypeScript

20/Sep/2017

Ya hemos visto como podemos realizar el control de propiedades obligatorias mediante la definición de interfaces en TypeScript. En este caso vamos a ver cómo podemos definir interfaces con propiedades opcionales en TypeScript.

Y es que en ciertas ocasiones puede ser que necesitemos de ciertas propiedades de forma obligatoria y otras que puedan venir o no.

A la hora de definir interfaces con propiedades opcionales en TypeScript tenemos que saber que hay que anteponer un símbolo de interrogación delante de la propiedad.

interface nombreInterface {
  propiedad1?: tipo-dato;
  propiedad2?: tipo-dato;
}

Si utilizamos el mismo ejemplo que teníamos en el artículo sobre cómo definir interfaces en TypeScript, veremos que definimos el interface Persona, pero en este caso la propiedad edad la definimos como opcional:

interface Persona {
  nombre: string;
  edad?: number;
}

El interface será el tipo de la variable que utilicemos en las funciones. En este caso definimos un método datosPersona que tiene esa variable.

function datosPersona(p: Persona) {
  console.log(p.nombre);
}

Cuando llamemos a esa función funcionará siempre que venga la propiedad nombre, e independientemente de que venga la propiedad edad o no.

Así funcionará esta invocación a la función:

let p1 = {nombre:'Carlos', edad:42, localidad:'Zamora'}
datosPersona(p1);

Cómo esta otra invocación:

let p2 = {nombre:'Carmen', localidad:'Zaragoza'};
datosPersona(p2);

De esta forma tan sencilla podemos ser menos estrictos en las validaciones y definir interfaces con propiedades opcionales en TypeScript.

Código Fuente

Descárgate el código fuente de Interfaces con propiedades opcionales en TypeScript
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Suscribir
Notificar de
guest
0 Comentarios
Opiniones integradas
Ver todos los comentarios