javascript - 构造函数只返回这个
问题描述
我有一个类在启动时需要在内部返回一个函数值。代码看起来像这样。
class MyClass {
get list() {
return [1, 2, 4, 5, 6]
}
// CANNOT BE CHANGED
constructor() {
return this;
}
}
有没有办法在不更改构造函数的情况下调用并返回我list()
在运行时所拥有的内容?new MyClass()
编辑:所以下面的代码应该如下
x = new BrandCollector();
然后x
应该等于[1, 2, 4, 5, 6]
解决方案
您可以将类重新定义为自身的代理:
class MyClass {
get list() {
return [1, 2, 4, 5, 6]
}
// CANNOT BE CHANGED
constructor() {
return this;
}
}
MyClass = new Proxy(MyClass, { construct: () => MyClass.prototype.list });
let x = new MyClass;
console.log(x);
推荐阅读
- google-apps-script - 请告诉我如何安全地在 GoogleAppScript 的属性中保存访问密钥和密钥
- html - 带有 svg 和 div 的讨厌的条带
- asp.net-core - Blazor 异常 - 当前线程未与 Dispatcher 关联。使用 InvokeAsync()
- javascript - 加载值时如何在extJS中更新网格存储数据中的值
- cuda - 我可以获得用作 __nv_nvrtc_builtin_header.h 的内容吗?
- java - 有没有办法只刷新 Spring MVC Controller 中的视图?
- javascript - 如何在另一个数组中对属性上的对象数组进行抓取?
- python - 基于python提取文本文件数据
- c# - C# - 如何使用 ref 结构作为泛型类型参数?
- javascript - 在本地运行posenet的问题