javascript - 如何在 javascript 类中模拟受保护的变量?
问题描述
在javascript中模拟受保护变量的最佳方法是什么?
class Parent{
#variable; // Private variable. This is not to be public.
constructor(value)
{
this.#variable = value;
}
}
class Child extends Parent{
getNewVariable()
{
return (1 + this.#variable); // Uncaught SyntaxError: Private field '#variable' must be declared in an enclosing class
// We want #variable to be accessible without making it public.
}
}
由于 javascript 还不支持受保护的变量,
从扩展类中的超类访问私有变量的最佳选择是什么?
我无法找到太多关于此的文档,因此任何建议都会非常有帮助。
解决方案
使用 TypeScript 怎么样?TypeScript 类支持protected
关键字(请参阅文档),并且比 vanilla JavaScript 有很多额外的好处。
推荐阅读
- python - 将带有 POST 请求的文件发送到 TelegramBot
- python-3.x - 如何让计算机根据它检测到的内容将连接的字符串分成列表中的单独项目?
- python - 使用 PySimpleGui 时持续出现无法解释的错误
- javascript - Node.js + Socket.io:尝试使用 socket-anti-spam 模块时,出现 EADDRINUSE 错误
- c++ - 链表中头/第一个节点的声明
- keras - 运行 Tensorflow 2.0 代码会给出“ValueError:tf.function-decorated 函数试图在非首次调用时创建变量”。我究竟做错了什么?
- xml - 如何使用 Xquery 和 FLOWR 迭代并返回每个结果?
- spring - Spring Data / Hibernate 使用 Postgres 保存实体,在冲突更新某些字段时使用插入
- cordova - 如何在 PhoneGap config.xml 中从 npm / github 引用 cordova-plugin
- google-chrome - Cloud-flare 通用证书上的 ERR_INVALID_CERT_AUTHORITY(怀疑是谷歌浏览器)