繁体   English   中英

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

[英]How to access the super-class's private member in 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}`) 

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

这是不可能的

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

Base必须不得不以其他方式(例如通过一种方法)故意公开其#property

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM