web-dev-qa-db-ja.com

プッシュが「any []」型の引数を「never」型のパラメータに割り当てることができないのはなぜですか?

このコードでは、休憩エラーが発生します:

タイプ 'any []'の引数は、タイプ 'never'のパラメーターに割り当てることができません

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

var markers: []markers配列を、永続的に空の配列の型を持つものとして宣言しています。おそらくvar markers = []これを空に初期化しますが、アイテムの追加を許可します。

17
Matt McCutchen

これを変更します。

const a = [];

これで :

const a = Array();
2
Denis TRUFFAUT

Neverタイプは、すべてのタイプのサブタイプであり、すべてのタイプに割り当て可能です。ただし、決してタイプのサブタイプまたは割り当て可能なタイプはありません(決してそれ自体を除く)。どんなものでも決して割り当てることはできません。

TypeScript docs から

1
Programmer