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日
下一篇 2020年9月12日

相关推荐

  • 1.4JavaScript语言的类型(Type)

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

  • 1.7JavaScript语言的函数(Function)

    1.Function()函数方式 Function() 函数方式创建的函数定义存在安全性和性能问题,所以不推荐使用,不过此种创建函数定义的方式很好地诠释了函数声明、函数表达式、箭头函数表达式是 Function 类型的实例这个概念。 2.函数声明 注意:在同一个作用域,相同名称的函数可以重复声明,但后定义的会覆盖先定义…

  • 2.1JavaScript语言的ES模块(Module)

    ES 模块用于在浏览器环境和服务器环境中使用。 模块就是以 .js 为扩展名的 JavaScript 文件。 普通脚本文件内的顶级的成员对其它脚本文件来说是公开(public)的全局上下文,而模块文件内的顶级的模块成员对其它模块文件来说都是私有(private)的,所以首先需要在模块中将它们显式导出,然后在其它模块中显…

发表回复

登录后才能评论