typescript之修饰符

有的时候,我们希望对类成员(属性,方法)进行一定的访问控制,来保证数据的安全,通过类修饰符可以做到这一点,目前typescript提供了四种修饰符:

  • public:公有,默认
  • protected: 受保护
  • private: 私有
  • readonly: 只读

public修饰符

这个是类成员的默认修饰符,他的访问级别为:

  • 自身
  • 子类
  • 类外

protected 修饰符

他的访问级别为:

  • 自身
  • 子类

private修饰符

他的访问级别为:

  • 自身

readonly 修饰符

只读修饰符只能针对成员属性使用,且必须在声明时或构造函数里被初始化,他的访问级别为:

  • 自身
  • 子类
  • 类外
class User{
  constructor(
    //可以访问,但是一旦确定不能修改
    readonly id: number,
    //自身和子类可以访问,但是不能外部修改
    protected username: string,
    //外部包括子类不能访问,也不可以修改
    private password: string
  ){
    this.id:number = id;
    this.username: string = username;
    this.password: string = password;
  }
   getInfo(){
    this.id;
    this.username;
    this.password;
  }
   //可以通过public方法修改private属性
  setPassword(password: string){
    if(password.length >= 6){
      this.password = password;
    }
  }
}
class Vip extends User{
  getInfo2(){
    this.id;
    this.username;
    this.password; //error
  }
}
let user1 = new User(1,"thia","123456");

user1.id;
user1.username; //error
user1.password; //error
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容