javascript - 如何将函数转换为类?
问题描述
我想将一个返回多个函数的函数转换为一个带有构造函数的类,该构造函数只能用new
关键字调用。
我试过这个:
const toast = () => {
return ({
getToast: () => {
return 'toast'
},
setToast: () => {
return 'wtf'
}
})
}
class t {
constructor() {}
}
const t1 = t.bind(toast())
const tt = new t1()
console.log(tt.getToast)
但它打印undefined
。
我也试过Object.assign(t, toast())
,或者只是this = toast()
在构造函数中做,但它不起作用。
解决方案
我不知道你想做什么。可能你正在寻找这个。
const toast = () => {
return ({
getToast: () => {
return 'toast'
},
setToast: () => {
return 'wtf'
}
})
}
class t {
constructor(fn) {
return fn;
}
}
const tt = new t(toast())
console.log(tt.getToast())
console.log(tt.setToast())
推荐阅读
- laravel - Laravel Route - 检查 ID 是否不存在并显示 404
- azure - Azure 服务适用于批量请求,但不适用于请求 - 响应
- python - 在防火墙后面更新 conda
- python - 如何在 PySpark 中连接到 Presto JDBC?
- android - Tensorflow-Lite:从 tf.Session 导出 GraphDef 转换失败
- sass - 如何根据高度将 CSS 应用于类的所有元素?
- javascript - 如何从 window.location.href 获取结果
- python - Python 3:无法使用 xmltodict 将 XML 转换为 dict
- excel - 复制列以生成唯一 ID
- laravel-blade - 如何显示具有绝对路径的图像,避免 laravel 添加基本 url?