在Typescript中,要访问匿名类外部的成员,可以通过将匿名类赋值给一个变量,然后通过该变量访问成员。
例如:
let myClass = class {
private myProperty: string = "Hello";
public myMethod(): void {
console.log(this.myProperty);
}
};
let instance = new myClass();
instance.myMethod(); // 输出:Hello
在上面的例子中,我们创建了一个匿名类,并将其赋值给变量myClass
。然后,我们可以通过myClass
变量创建类的实例instance
,并访问类的成员。
需要注意的是,由于匿名类没有名称,因此无法在其他地方直接引用该类。只能通过将其赋值给一个变量来间接访问类的成员。
在Typescript中,还可以使用闭包来访问匿名类外部的成员。例如:
function createInstance(): any {
let myProperty: string = "Hello";
return class {
public myMethod(): void {
console.log(myProperty);
}
};
}
let myClass = createInstance();
let instance = new myClass();
instance.myMethod(); // 输出:Hello
在上面的例子中,我们定义了一个函数createInstance()
,该函数内部定义了一个变量myProperty
和一个匿名类。匿名类的方法可以访问createInstance()
函数内部的变量myProperty
,从而实现了访问匿名类外部成员的目的。
这是Typescript中访问匿名类外部成员的两种常见方法。
领取专属 10元无门槛券
手把手带您无忧上云