Parameter Properties

TypeScript 提供了特殊的语法来将构造函数参数转换为具有相同名称和值的类属性。 这些称为参数属性,是通过在构造函数参数前面加上可见性修饰符 public、private、protected 或 readonly 之一来创建的。 结果字段获得这些修饰符:

class Params {
  constructor(
    public readonly x: number,
    protected y: number,
    private z: number
  ) {
    // No body necessary
  }
}
const a = new Params(1, 2, 3);
console.log(a.x);
             
(property) Params.x: number
console.log(a.z);
Property 'z' is private and only accessible within class 'Params'.