Typescript “错误”;无法使用';新';使用类型缺少调用或构造签名的表达式;导入Esri类型时
我觉得这里缺少了一些非常简单的东西。我正在构建一个使用Esri ArcGIS API的类,但是当我从Typescript “错误”;无法使用';新';使用类型缺少调用或构造签名的表达式;导入Esri类型时,typescript,arcgis-js-api,esri-maps,Typescript,Arcgis Js Api,Esri Maps,我觉得这里缺少了一些非常简单的东西。我正在构建一个使用Esri ArcGIS API的类,但是当我从ArcGIS js API的d.ts文件导入类型定义时,我得到了typescript错误“不能将'new'与类型缺少调用或构造签名的表达式一起使用。” 例: 看起来类型定义对我来说是正确的,那么我做错了什么,会使Typescript认为IMap类型没有构造函数?参数中的Map是IMap类型的一个实例。如果要将其键入构造函数,请将其键入IMap的typeof: bar (Map: typeof IM
ArcGIS js API
的d.ts
文件导入类型定义时,我得到了typescript错误“不能将'new'与类型缺少调用或构造签名的表达式一起使用。”
例:
看起来类型定义对我来说是正确的,那么我做错了什么,会使Typescript认为
IMap
类型没有构造函数?参数中的Map
是IMap
类型的一个实例。如果要将其键入构造函数,请将其键入IMap的typeof
:
bar (Map: typeof IMap) {
const map = new Map();
}
declare namespace __esri {
/* snip */
interface Map extends Accessor, LayersMixin {
allLayers: Collection;
basemap: Basemap;
ground: Ground;
}
interface MapConstructor {
new(properties?: MapProperties): Map;
}
export const Map: MapConstructor;
/* snip */
}
declare module "esri/Map" {
import Map = __esri.Map;
export = Map;
}
bar (Map: typeof IMap) {
const map = new Map();
}