簡體   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