JavaScript 语言成员的可见性只支持 public
和 private
,不支持 protected
。
成员的可见性默认是 public
,无需在成员标识符前显式添加。
可以通过在成员标识符前添加 #
的方式来声明 private
成员,#
也是标识符的一部分,所以操作 private
成员时必须带上 #
。
目前,JavaScript 语言不支持 #constructor()
私有构造函数语法。
成员可见性 | 类自身内部 | 继承 | 外部调用(类调用或对象调用) |
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