代码之家  ›  专栏  ›  技术社区  ›  Parsaria

为什么push显示“any[]”类型的参数不能赋给“never”类型的参数错误?

  •  7
  • Parsaria  · 技术社区  · 8 年前

    在这段代码中,我得到了衰减错误:

    “any[]类型的参数不能赋给类型的参数” “从来没有”

    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);
    });
    
    2 回复  |  直到 8 年前
        1
  •  23
  •   Matt McCutchen    8 年前

    与 var markers: [] 你在宣布 markers 具有永久空数组类型的数组。你可能是说 var markers = []

        2
  •  15
  •   Denis TRUFFAUT    7 年前

    更改此:

    const a = [];
    

    const a = Array();
    
        3
  •  2
  •   Programmer    8 年前

    never类型是每个类型的子类型,并且可以分配给每个类型;但是,没有类型是never的子类型,或者可以分配给never(除了never本身)。哪怕是任何一个都不是永远不能分配的。

    从 TypeScript docs

    推荐文章