2.12JavaScript语言成员的可见性(Visibility)

成员的可见性只支持 publicprivate,不支持 protected

成员的可见性默认为 public,无需在成员标识符前显式添加。

可以紧挨着成员标识符前显式添加 # 来声明 private 成员。

注意:private 成员支持静态字段、静态访问器属性、静态方法、实例字段、实例访问器属性、实例方法,不支持静态初始化块、构造函数。

注意:# 也是成员标识符的一部分,所以操作 private 成员时必须带上 #

成员的可见性类自身内部继承外部调用(类调用或对象调用)
public可以可以可以
private可以不可以不可以

1.字段

class ClassWithPrivate {

  //private静态字段
  static #privateStaticField;
  static #privateStaticFieldWithInitializer = 36;

  //private实例字段
  #privateInstanceField;
  #privateInstanceFieldWithInitializer = 36;

}

2.方法

class ClassWithPrivate {

  //private静态方法
  static #privateStaticMethod() {
    //方法体
  }
  
  //private静态getter
  static get #privateStaticGetter() {
    //访问器属性体  
  }  
  
  //private静态setter
  static set #privateStaticSetter(形参) {
    //访问器属性体  
  }

  //private实例方法
  #privateInstanceMethod() {
    //方法体
  }

  //private实例getter
  get #privateInstanceGetter() {
    //访问器属性体 
  }  
  
  //private实例setter
  set #privateInstanceSetter(形参) {
    //访问器属性体
  }

}

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/javascript/javascriptlang/21258.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2020年9月11日 11:30
下一篇 2020年9月12日 18:46

相关推荐

  • 1.1JavaScript语言的注释(Comment)

    1.行内(Inline)注释 行内注释使同一行中紧跟 // 后的所有文本都成为注释。 2.块(Block)注释 块注释使 /* 和 */ 之间的无论是单行还是多行的所有文本都成为注释。 3.Hashbang注释 Hashbang 注释用于当 JavaScript 脚本文件直接在 shell 中运行时以指定 JavaSc…

  • 1.4JavaScript语言的类型(Type)

    JavaScript 语言有两种类型:原始类型(Primitive Type) 和 引用类型(Reference Type)。 原始类型包括:大整数类型(不可变的)、数值类型(不可变的)、布尔类型(不可变的)、字符串类型(不可变的)、符号类型(不可变的)、Undefined类型(不可变的)、Null类型(不可变的)。 …

  • 1.5JavaScript语言的变量(Variable)

    1.变量声明 注意:在同一个作用域,相同名称的变量不可以重复声明,否则会报错。 变量在赋值后可以通过重新赋值改变其值。 注意:新的值的类型不一定与老的值的类型相同。 2.变量声明提升(Hoisting) 变量声明不支持提升。 3.变量作用域 变量的作用域是块作用域,即外围离变量最近的代码块。全局变量的作用域是定义它们的…

发表回复

登录后才能评论