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中,应该尽可能避免外部访问属性。