Javascript 如何在js中对根对象执行getter?

Javascript 如何在js中对根对象执行getter?,javascript,typeorm,Javascript,Typeorm,在JavaScript中,如何在根级别对对象执行getter操作 我的意思是如何为此对象创建getter: const userModel = { get() { return { foo: true, ... }; } } 并通过userModel.foo;//正确。代码为我提供了userModel.get()…,这不是我所需要的 想法是在访问userModel时调用get 可以用js吗 我正在使用TypeForm库,我有一些模型,例如用户模型 typeorm可以使用以下语法使用此

在JavaScript中,如何在根级别对对象执行getter操作

我的意思是如何为此对象创建getter:

 const userModel = {
   get() { return { foo: true, ... }; }
 }
并通过
userModel.foo;//正确
。代码为我提供了
userModel.get()…
,这不是我所需要的

想法是在访问
userModel
时调用
get

可以用js吗

我正在使用TypeForm库,我有一些模型,例如用户模型

typeorm可以使用以下语法使用此模型:

import { getConnection } from 'typeorm';
const b = await getConnection().getRepository(User).findOne({...})...
现在,我想创建一个UserModel来实现这一点:

getConnection().getRepository(User)
作为:

因此,我可以将其用作:

userModel.findOne({...});
我不能只使用:

export const userModel = getConnection().getRepository(User);

由于连接尚未初始化,因此会引发错误。

请确保正确定义getter:

const userModel={
get foo(){return{foo:true};}
}
console.log(userModel.foo)
是的,可以使用:

const getConnection=(model)=>({
getRepository:(模型)=>{
返回{findOne:()=>(model)}
}
});
常量用户={
//…用户模型,
姓名:“乔恩·史密斯”
}
类代理模型{
建造师(模型){
this.model=模型;
返回新代理({},{get:(函数(目标,名称){
const repo=getConnection().getRepository(此);
if(回购协议中的名称){
返回回购[名称];
}
}).bind(this.model)})
}
}
const userModel=新代理模型(用户);

log(userModel.findOne())是的,这是可能的,但是它需要一些不推荐的黑客,所以不,你不想这样。你想做什么?我编辑了我的问题“因为连接还不是初始的,所以它会给我一个错误。”错误是什么?嗨,可以使用代理,请看我的答案。不,我说的想法是调用userModel的getter。getter不是用于foo方法的。你能用一段你想要实现的东西来详细说明一下吗?@AadilMehraj我相信OP想要的是当
userModel
被分配时,它将调用get方法。有点像酒吧/酒吧
export const userModel = getConnection().getRepository(User);