web-dev-qa-db-fra.com

Script de type JavaScript La propriété 0 est manquante dans le type []

Je veux avoir un tableau d'un objet comme suit.

Cependant TypeScript génère une erreur La propriété 0 est manquante dans le type []

let organisations: [{name: string, collapsed: boolean}] = [];
12
stevenpcurtis

Ce que vous définissez est un type Tuple (un tableau avec un nombre fixe d'éléments et des types hétérogènes). Comme les tuples ont un nombre fixe d'éléments, le compilateur vérifie le nombre d'éléments lors de l'affectation.

Pour définir un tableau, le [] doit venir après le type d'élément

let organisations: {name: string, collapsed: boolean}[] = [];

Ou de manière équivalente, nous pouvons utiliser Array<T>

let organisations: Array<{name: string, collapsed: boolean}> = [];
26

Vous pouvez définir des types de tuples comme -

type organisationsType = {name: string, collapsed: boolean};
let organisations: organisationsType[];

Rappelez-vous tableau le [] doit venir après le type d'élément, comme organisationsType dans l'exemple ci-dessus.

1
Praveen Poonia