一般定义Class的代码:

class Person {
    name: string;    // A1
    email: string;   // A2

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

首先我们在A1、A2两行中定义当前类的成员对象,然后为了正常生成实例,我们还需要在constructor中接收参数,并对成员对象赋值。虽然我们在Java中已经习惯了这种形式,但是在TypeScript中可以使用简写的形式:

class Person {
    constructor(public name: string, public email: string) {
        this.name = name;
        this.email = email;
    }
}

我们需要做的很简单,删掉A1、A2行,在constructor的参数列表中,在参数前使用publicprotectedprivate即可。

仅使用readonly修饰参数,其可见性是默认的public,如想改变可将protectedprivate搭配readonly使用,如private readonly