TypeScript 中类的构造函数的简写
class Student implements Person { constructor(public name: string, public age: number) {} greet() { console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); } }
这行代码是 TypeScript 中类的构造函数的简写形式,也是 TypeScript 为了方便开发者定义类成员变量的一种语法糖。让我们逐步解释这行代码:
constructor
: 这个关键字表示类的构造函数,用于创建类的实例。public
: 这个关键字是 TypeScript 中的访问修饰符,表示这些参数是公共的,即它们可以在类的内部和外部访问。在这个上下文中,它们也会被用作类成员变量。name: string, age: number
: 这是构造函数的参数列表,其中name
是一个字符串类型的参数,age
是一个数字类型的参数。{}
: 这个花括号内部没有代码,因为这个语法糖会自动生成构造函数的实现。这里的作用类似于传统的构造函数中的函数体。
这行代码的作用等价于下面的代码:
它们都定义了一个类 MyClass
,其中有两个公共的成员变量 name
和 age
,并且都有一个构造函数,用来初始化这两个成员变量。使用简写形式可以减少重复的代码,使代码更加简洁和易读。