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 是一个数字类型的参数。
  • {}: 这个花括号内部没有代码,因为这个语法糖会自动生成构造函数的实现。这里的作用类似于传统的构造函数中的函数体。

这行代码的作用等价于下面的代码:

class MyClass {
    public name: string;
    public age: number;

    constructor(name: string, age: number) {
        this.name = name;
        this.age = age;
    }
}

它们都定义了一个类 MyClass,其中有两个公共的成员变量 name 和 age,并且都有一个构造函数,用来初始化这两个成员变量。使用简写形式可以减少重复的代码,使代码更加简洁和易读。

posted @ 2024-05-14 15:59  炽橙子  阅读(83)  评论(0编辑  收藏  举报