访问修饰符

  1. class ClassName {
  2. one: string = '' // public
  3. public two: string = ''
  4. protected three: number = 18
  5. private four: boolean = false
  6. readonly five: object = {}
  7. }
  • 控制实例成员可访问范围的修饰符,分为三种,每个成员必有一种
    • public:公共,类的声明中时和实例都能访问,子类都可以访问,是默认修饰符
    • protected:受保护,只能在类与子类的声明内部访问
    • private:私有,只能在类的声明中访问,子类不能访问
  • protected 能修饰 constructor,修饰后该类只能用于继承不能创建实例

readonly修饰符

readonly 用于定义只读成员

class ClassName {
    public readonly name: string

  constructor ( name: string ) {
      this.name = name
  }
}
  • 只读成员:只能在类的声明中修改,实例不能修改
  • 访问修饰符在 readonly 前面

参数属性

当 constructor 中的参数添加修饰符后,该参数会直接成为实例成员,并限制访其问范围

class ClassName {
  constructor ( pubilc name: string ) { }
}

const a = new ClassName('yy')
console.log(a.name)
  • 参数属性的访问范围具体看使用的修饰符