Matriz de interfaz de objetos en TypeScript
Presentaremos cómo interconectar una matriz de objetos y los diferentes métodos para interconectar la matriz de un objeto con ejemplos en TypeScript.
Matriz de interfaz de objetos en TypeScript
Definimos una interfaz para una matriz de objetos; explicamos la interfaz para el tipo de cada objeto. Ponga la matriz para que sea Tipo[]
.
Por ejemplo:
# typescript
const arr: Worker[] =[];
Todos los objetos agregados a la matriz deben obedecer al tipo, o el verificador de tipos da un error.
# typescript
interface student {
studentId: number;
studentName: string;
}
const arr: Employee[] = [
{ studentId: 1, studentName: 'Maham' },
{ studentId: 2, studentName: 'Maryam' },
];
En el ejemplo anterior, el tipo de una matriz de objetos se utiliza como interfaz. Cada objeto tiene un Id
de tipo número
y un nombre
de tipo cadena
.
Estamos tratando de agregar un objeto de un tipo diferente a una matriz que provoca un error en el verificador de tipos.
# typescript
interface Company {
CompanyId: number;
CompanyName: string;
[key: string]: any;
}
Esto puede ser muy útil al asignar la matriz como nula. Si asignamos una matriz nula, TypeScript supone que su tipo es any[]
.
# typescript
const arr2: Student[] = [
{ StudentId: 1, StudentName: 'Maham' },
{ StudentId: 2, StudentName: 'Maryam', wage: 100 },
];
Del ejemplo anterior, sabemos que podríamos agregar elementos de “cualquier” tipo a una matriz, y no obtuvimos ninguna ayuda del verificador de tipos.
Más bien deberíamos expresar el tipo de todas las matrices nulas.
# typescript
interface Student {
StudentId: number;
StudentName: string;
}
const arr: Student[] = [
{ StudentId: 1, StudentName: 'Maham' },
{ StudentId: 2, StudentName: 'Maryam' },
];
arr.push({ Wage: 100 });
Solo podemos añadir los objetos que obedezcan al tipo Worker
al array arr
.
Supongamos que no tenemos los nombres de todas las propiedades del objeto antes de tiempo. Utilizamos una firma de índice en la interfaz.
# typescript
const worker = [];
Una firma de índice es útil cuando no podemos conocer todos los nombres de las propiedades de un tipo y el valor de la forma a lo largo del tiempo.
# typescript
interface Worker {
WorkerId: number;
WorkerName: string;
}
const arr: Worker[] = [];
En el ejemplo anterior, podemos ver la firma de índice {[clave: cadena]: cadena}
. Expresaba una estructura clave-valor que, cuando se indexaba con una cadena
, volvía al valor del tipo cadena
.
También sabemos que cada elemento del array tendrá un id
del tipo número
y el nombre
del tipo cadena
. También puede tener otras características.
Donde la clave es una cadena, y el valor que contiene puede ser de cualquier tipo.
Mientras usamos este enfoque, debemos agregar expresamente todas las propiedades a la interfaz que conocemos con anticipación.
Es ideal limitar nuestro uso del verificador de tipos tanto como sea posible.
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