¿Cómo verificar el tipo de interfaz en TypeScript?

Typescript es un lenguaje de programación puro orientado a objetos que consta de clases, interfaces, herencia, etc. Es estricto y está tipado estáticamente como Java. Las interfaces se utilizan para definir contactos en TypeScript. En general, define las especificaciones de una entidad. A continuación se muestra un ejemplo de una interfaz o contrato de un automóvil.

interface Audi {
    length: number;
    width: number;
    wheelbase: number;
    price:number;
    numberOfAirBags:number;
    seatingCapacity: number;
    getTyrePressure: () => number;
}

Acercarse:

  • Declare una interfaz con un nombre y su tipo como una string.
  • Ahora cree una función personalizada para comprobar el tipo de interfaz.
  • Esta función devuelve un valor booleano si el atributo de nombre está presente en el argumento pasado.
  • Ahora use una declaración if para verificar el valor devuelto por la función y puede realizar más operaciones con respecto a los requisitos.

Ejemplo 1:

Javascript

interface Student{
    name:string;
}
  
var geek:any = { 
    name: "Jairam" 
    };
  
function instanceOfStudent(data: any): data is Student {
    return 'name' in data;
}
  
if (instanceOfStudent(geek)) {
    document.write("Student Name is "+ geek.name);
}

Producción:
 

Ejemplo 2:

Javascript

interface Bike{
    companyName:string;
    bikeNumber:any;
    modelNo:any;
}
  
var bike:any = { 
    companyName: "Engfield" 
    };
  
function createName(name:any){
   alert(name);
}
  
if(instanceOfBike(bike)) {
    createName(bike.companyName)
}
else{
    createName("No Name is registered with that company name")
}
  
function instanceOfBike(data: any): data is Bike {
    return 'companyName' in data;
}

Producción:
 

Publicación traducida automáticamente

Artículo escrito por bunnyram19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *