我尝试在每次通过get方法调用代理时,只给予用户字符串“Hello”。相反,我得到一个空对象,这是我的目标。
我尝试过使用String、Reflect等类,但没有得到任何积极的结果
let proxy = new Proxy({},{
get: function ()
{
return "Hello"
}
})
console.log(proxy)
期待:“你好”
结果:{}
我尝试在每次通过get方法调用代理时,只给予用户字符串“Hello”。相反,我得到一个空对象,这是我的目标。
我尝试过使用String、Reflect等类,但没有得到任何积极的结果
let proxy = new Proxy({},{
get: function ()
{
return "Hello"
}
})
console.log(proxy)
期待:“你好”
结果:{}
2条答案
按热度按时间ds97pgxw1#
每次通过get方法调用代理时。
这不是
get
陷阱的用途。该方法将处理 * 属性访问 *,而不是代理本身的访问。你的(代理)对象没有任何属性,它们不会被访问,所以你看到的只是一个空对象。在这里查看
get
陷阱的操作:我尝试只给予用户字符串“Hello”
这不可能代理始终是一个对象。它不能伪装成原始字符串。
inn6fuwd2#
如果你把它转换成字符串就有可能