Typescript 如何获得课外财产?

Typescript 如何获得课外财产?,typescript,typescript2.0,Typescript,Typescript2.0,我有一门课: export class MapApi { [reonMap]: Map; constructor(container: HTMLElement, props: nMapProps = {}) { this[Map] = new Map(container, libraryUrl, props); } } 如何在类外获取新映射的实例此[Map]。TypeScript支持拦截对对象成员的访问。在您的类中,这可以按如下方式实现: export class MapA

我有一门课:

export class MapApi {
  [reonMap]: Map;

constructor(container: HTMLElement, props: nMapProps = {}) {
    this[Map] = new Map(container, libraryUrl, props);
  }

}
如何在类外获取新映射的实例
此[Map]

TypeScript支持拦截对对象成员的访问。在您的类中,这可以按如下方式实现:

export class MapApi {
    private _reonMap: Map;

    constructor(container: HTMLElement, props: nMapProps = {}) {
        this._reonMap = new Map(container, libraryUrl, props);
    }

    get reonMap(): Map {
      return this._reonMap;
    }
}
要在
类之外访问它,请执行以下操作:

const mapApi = new MapApi(...);
const reonMap = mapApi.reonMap; 

您可以使用get和set方法访问该属性,并使用类的实例访问方法为什么不在类中声明
Map
,比如
reonMap
?为什么在属性定义中用括号括起
reonMap
?通过在构造函数中分配
这个[Map]
你打算做什么?旁注:通过setter和getter让你的所有属性都可以访问和可变,这会使它们静音,你也可以公开属性。在OOP中,应该尽可能避免外部访问属性。