
# TypeScript: Array de Objetos
Para crear un array de objetos con TypeScript primero voy a definir un array, después crearé un objeto utilizando una interface y para finalizar uniré los dos conceptos creando un array de objetos.
***Definición de array con TypeScript:***
```typescript=
let listObjects: Object[] = []
```
**let** define la variable que en este caso va a ser un array, **listObjects** es el nombre que le he dado al array, **Object** es el tipo de dato que va a contener el array, los **[]** definen que va a ser un array y los segundos **[]** asignan el valor de array vacío a dicho array.
Se puede definir el array y asignarle valores al mismo tiempo.
```typescript=
let listObjects: Object[] = [{name: "Irene", age: 12},{name: "Iker", age: 9}]
```
***Definición de objeto con TypeScript:***
Es aconsejable crear una **interface** para definir la estructura del objeto en TypeScript, esto va a obligar a la hora de crear el objeto a que tenga la estructura y los tipos definidos en la interface.
```typescript=
interface person {
name: string,
age: number
}
```
Creo el objeto y lo guardo en una constante.
```typescript=
const element : person = {name: "Irene", age: 12}
```
Ahora la constante **element** contiene el objeto el cual cumple el contrato definido en la interface **person**.
***Unión de los dos conceptos, array y objeto con TypeScript:***
Para crear el array de objetos, defino el array, le indico que va a contener objetos del tipo **person** de la interface creada anteriormente y le añado dos objetos.
```typescript=
let listObjects: person[] = [{name: "Luis", age: 42},{name: "Iker", age: 9}]
```
También se puede seguir añadiendo objetos con el método **push**, en este caso el objeto guardado anteriormente en la constante element.
```typescript=
listObjects.push(element)
```
En este otro caso pasando directamente el objeto al método push como argumento.
```typescript=
listObjects.push({name: "Raquel", age: 25})
```
***El código completo quedaría así:***
```typescript=
interface person {
name: string,
age: number
}
let listObjects: person[] = [{name: "Luis", age: 42},{name: "Iker", age: 9}]
const element : person = {name: "Belén", age: 12}
listObjects.push(element)
listObjects.push({name: "Raquel", age: 25})
```
***La salida por consola del array de objetos es el siguiente:***
```
[
{
name: "Luis",
age: 42
},
{
name: "Iker",
age: 9
},
{
name: "Belén",
age: 12
},
{
name: "Raquel",
age: 25
}
]
```
## Enlaces de interés relacionados
[TypeScript: Tipado de objetos y Tipos Globales](https://www.minicodelab.dev/feed/typescript-tipado-objetos-y-globales)