web-dev-qa-db-fra.com

Pourquoi Push montre que l'argument de type 'any []' n'est pas attribuable au paramètre de type 'never' error?

Dans ce code, j'obtiens l'erreur suivante:

var markers: []; this.Getlapoints(this.map.getCenter(), 500000).then(data => { for (var key in data) { Leaflet.marker(data[key].location, //{ icon: greenIcon } ).addTo(this.map).bindPopup(data[key].caption); // markers.Push(data[key].location.lat,data[key].location.lng); // markers.Push(data[key].location); var lat = data[key].location.lat; var lng = data[key].location.lng; markers.Push([lat, lng]); } console.log(markers); });

8
Parsaria

Avec var markers: [] vous déclarez le tableau markers comme ayant le type d'un tableau vide en permanence. Vous vouliez probablement dire var markers = [] pour l'initialiser à vide mais autoriser l'ajout d'éléments.

17
Matt McCutchen

Change ça :

const a = [];

Par ça :

const a = Array();
2
Denis TRUFFAUT

Le type Never est un sous-type de chaque type et peut être affecté à celui-ci; cependant, aucun type n'est un sous-type de, ou attribuable à, jamais (sauf jamais lui-même). Même aucun n'est attribuable à jamais.

À partir des documents TypeScript

1
Programmer