javascript - javascript按对象创建动态类
问题描述
任务:我想在 ES6 中通过给定的 JSON 对象创建一个动态类。
在阅读了 MDN 网络文档和很多 stackoverflow 问题之后,我完全不知道如何完成这项工作。
JSON 对象
{
constructor: {
name: "someName",
},
getter: {
function1: () => "someOutput",
function2: () => false,
}
}
当我试图解决这个问题时,我想出了如何使用“ Proxy ”或“ defineProperty ”来创建动态getter方法,但是我应该如何处理构造函数?:(
我希望有人可以通过提示或示例来帮助我。提前致谢
解决方案
您可以使用 Proxy 的“construct”处理程序方法将构造函数添加到由 Proxy 创建的类:
const jsonObj = {
constructor: {
name: "someName",
},
getter: {
function1: () => "someOutput",
function2: () => false,
}
}
function baseClass(obj) {
for(i in obj){
this[i] = obj[i]
}
}
const handler = {
construct(target, args) {
return new target(jsonObj.constructor);
}
};
const NewClass = new Proxy(baseClass, handler);
推荐阅读
- apache - 切换到 Cloudflare DNS 会触发此错误“Unsupported X-Forwarded-Proto: https, https for URL” with mod_pagespeed 1.11.33.5-0 @26313
- python - 如何获取祖先标签相对于已故孩子的 href 属性
使用 Selenium 和 Python 进行标记
我正在尝试获取一个
<a>
元素,以防其嵌套(内部)<h3>
标签包含特定文本。我该怎么做?假设结构如下:<a href="https://example.com"> <section class="section">
- delta-lake - databricks delta Lake 文件扩展名是镶木地板
- swift - 选择排序算法的 Swift 比 Flutter 慢
- python-3.x - Shareplum : ConnectionResetError: [WinError 10054] 现有连接被远程主机强行关闭
- python - 如何按多列分组
- file - this.$refs.selectedImages.files.map 不是函数 - vue electron
- javascript - 你能解释一下吗,因为我对 angular 非常陌生。为什么私有 todoItems: TodoItem[] = [] .TodoItem 是一个返回但 =[] 表示的数组?
- django - django中需要一对多字段
- spring - 没有 @RequestBody 就不会调用 ControllerAdvice