2.8JavaScript语言的成员可见性(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静态getter
  static get #privateStaticGetter() {
    //访问器属性体  
  }  
  
  //private静态setter
  static set #privateStaticSetter(形参) {
    //访问器属性体  
  }  

  //private静态方法
  static #privateStaticMethod() {
    //方法体
  }

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

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

}

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

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

相关推荐

  • 1.7JavaScript语言的函数(Function)

    1.函数定义 函数声明、函数表达式、箭头函数表达式都是 Function 类型的实例。 1.1函数声明 1.2函数表达式 注意:命名函数表达式的右侧依然是函数表达式,不是函数声明。 注意:命名函数表达式的函数名 f2 的作用域仅仅为函数体,比如可用于函数递归,但不可以在函数体外使用。 1.3箭头函数表达式 没有形参或多…

  • 1.6JavaScript语言的常量(Constant)

    1.常量声明 常量在赋值后不可以通过重新赋值更改其值,即使新的值与老的值相同也不可以。 如果一个常量存储的是对象的引用,意味着此常量必须总是引用同一个对象。例如,改变数组的元素是可以的。 2.常量作用域 3.常量引用表达式

  • 2.3JavaScript类型之字符串(String)

    1.单引号和双引号字符串字面量 JavaScript 语言的单引号和双引号字符串字面量语法上没有区别,所以以下一并讲解。 单引号和双引号字符串字面量支持所有转义序列。 单引号和双引号字符串字面量不支持字符串插值。 单引号和双引号字符串字面量不支持隐式的换行符。 2.模板字面量(Template Literal) 模板字…

发表回复

登录后才能评论