Interfaz de función en TypeScript

Rana Hasnain Khan 15 febrero 2024
Interfaz de función en TypeScript

Presentaremos una interfaz de función en TypeScript con ejemplos.

Interfaz como tipo de función en TypeScript

La interfaz nos permite crear una estructura principal utilizada en toda la aplicación para ciertas clases o funciones. Cualquier cambio en la estructura en cualquier etapa de la aplicación dará un error.

La interfaz puede validar la estructura específica de propiedades, objetos devueltos por funciones u objetos pasados como parámetros. Podemos definir fácilmente una interfaz usando la palabra clave interfaz e incluir las propiedades y el método.

Podemos declarar métodos usando la función o una función de flecha. Como se muestra a continuación, veamos un ejemplo y creemos una interfaz para cursos.

Código:

# typescript
interface CsCourse {
    subCode: number;
    subName: string;
    instructor(id): string;
    getCgpa: (number) => number;
}

Usemos esta interfaz para nuestras funciones.

Código:

# typescript
interface Course
{
    (subCode: number, subName: string): void;
};
function addSub(subCode:number, subName:string):void {
    console.log('Adding Subject: Subject Code = ' + subCode + ', Subject Name = ' + subName)
}

function updateSub(subCode:number, subName:string):void {
    console.log('Updating Subject: Subject Code = ' + subCode + ', Subject Name = ' + subName)
}

let sub: Course = addSub;
sub(301, 'Compiler Construction');

sub = updateSub;
sub(101, 'Introduction to Programming');

Producción:

ejemplo de interfaz de función en mecanografiado

Al crear una interfaz, podemos seguir la estructura de las propiedades o funciones y asegurarnos de que se siga la misma estructura en toda la aplicación. El uso de interfaces para estas propiedades hace que nuestra aplicación sea segura y podemos garantizar que se envíen los datos correctos a las funciones.

Ahora, intentemos asignar una nueva función con una firma diferente a la firma que definimos en el curso de interfaz.

Código:

# typescript
function delSub(subCode:number):void {
    console.log('Subject deleted.')
}

let sub: Course = delSub;

El código anterior dará el error del compilador.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

Artículo relacionado - TypeScript Interface