访问修饰符
class ClassName {
one: string = '' // public
public two: string = ''
protected three: number = 18
private four: boolean = false
readonly five: object = {}
}
- 控制实例成员可访问范围的修饰符,分为三种,每个成员必有一种
- 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)
- 参数属性的访问范围具体看使用的修饰符