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

在中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}`)


慕运维8079593
浏览 188回答 2
2回答

潇潇雨雨

这是不可能的:这意味着私有字段纯粹是内部的:类之外的任何JS代码都无法检测或影响所述类实例的任何私有字段的存在,名称或值,而无需直接检查类的来源,除非该类选择显示它们。 。(这包括子类和超类。)Base则必须以#property某种其他方式故意暴露它,例如通过一种方法。

函数式编程

在OOPprivate中,即使扩展,也无法访问类外部的方法或属性。但是您可以protected在子类中访问父类的方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript