📅  最后修改于: 2023-12-03 15:20:43.217000             🧑  作者: Mango
在 TypeScript 中,内部类是在另一个类的内部定义的类。内部类可以访问其外部类中的属性和方法,同时也可以使用外部类实例化内部类。
内部类的定义可以直接放在外部类的代码块内部,且不需要使用额外的关键字声明。
class OuterClass {
outerProperty: string;
constructor(outerProperty: string) {
this.outerProperty = outerProperty;
}
showInnerClass(): void {
const innerClass = new InnerClass("Inner Property");
innerClass.innerMethod();
}
class InnerClass {
innerProperty: string;
constructor(innerProperty: string) {
this.innerProperty = innerProperty;
}
innerMethod(): void {
console.log(`Inner Property: ${this.innerProperty}`);
console.log(`Outer Property: ${this.outerProperty}`);
}
}
}
在上面的例子中,我们定义了一个 OuterClass
外部类,并在其中定义了一个 InnerClass
内部类。InnerClass
可以访问 OuterClass
中的 outerProperty
属性。
要创建内部类的实例,我们需要先创建外部类的实例,然后使用外部类实例来实例化内部类。
const outerObject = new OuterClass("Outer Property");
outerObject.showInnerClass();
在上面的例子中,我们创建了一个 OuterClass
的实例 outerObject
,并调用了 showInnerClass
方法,该方法会实例化 InnerClass
并调用 innerMethod
方法。
这就是 TypeScript 中内部类的基本概念和用法。通过使用内部类,我们可以更好地组织和封装代码,提高可读性和可维护性。
注意:内部类在 JavaScript 中是一个较新的特性,在旧版浏览器中可能不被支持。在使用内部类时,请确保目标环境支持该特性。