TypeScriptInterfaces


Introducción

Una interfaz especifica una lista de campos y funciones que pueden esperarse en cualquier clase que implemente la interfaz. A la inversa, una clase no puede implementar una interfaz a menos que tenga todos los campos y funciones especificados en la interfaz.

El principal beneficio de usar interfaces, es que permite usar objetos de diferentes tipos de manera polimórfica. Esto se debe a que cualquier clase que implemente la interfaz tiene al menos esos campos y funciones.

Sintaxis

  • interfaz InterfaceName {
  • ParameterName: ParameterType;
  • optionalParameterName?: parametersType;
  • }

Observaciones

Interfaces vs Alias ​​de Tipo

Las interfaces son buenas para especificar la forma de un objeto, por ejemplo, para un objeto de persona que podría especificar

interface person {
    id?: number;
    name: string;
    age: number;
}

Sin embargo, ¿qué sucede si quiere representar, por ejemplo, la forma en que una persona se almacena en una base de datos SQL? Al ver que cada entrada de base de datos consta de una fila de forma [string, string, number] (por lo tanto, una matriz de cadenas o números), no hay forma de que pueda representar esto como una forma de objeto, porque la fila no tiene propiedades. como tal, es sólo una matriz.

Esta es una ocasión donde los tipos son útiles. En lugar de especificar en cada función que acepte una function processRow(row: [string, string, number]) parámetro de fila function processRow(row: [string, string, number]) , puede crear un alias de tipo separado para una fila y luego usarlo en cada función:

type Row = [string, string, number];
function processRow(row: Row)

Documentación oficial de la interfaz.

https://www.typescriptlang.org/docs/handbook/interfaces.html

Interfaces Ejemplos relacionados