为了账号安全,请及时绑定邮箱和手机立即绑定

如何在JavaScript中访问超类的私有成员?

如何在JavaScript中访问超类的私有成员?

慕运维8079593 2021-04-26 16:19:05
在中class,我如何访问其基类的私有字段#property?class Base {  #property = '1.618'  toString() {    return Base.name  }}class X extends Base {  thisWorks() {    return super.toString()  }  toString() {    return super.#property // SyntaxError: Unexpected private field  }}console.log(`${new X}`)
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

这是不可能的

这意味着私有字段纯粹是内部的:类之外的任何JS代码都无法检测或影响所述类实例的任何私有字段的存在,名称或值,而无需直接检查类的来源,除非该类选择显示它们。 。(这包括子类和超类。)

Base则必须以#property某种其他方式故意暴露它,例如通过一种方法。


查看完整回答
反对 回复 2021-05-13
?
函数式编程

TA贡献1807条经验 获得超9个赞

在OOPprivate中,即使扩展,也无法访问类外部的方法或属性。但是您可以protected在子类中访问父类的方法。


查看完整回答
反对 回复 2021-05-13
  • 2 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信