javascript - 代理仅在尝试返回不同值时通过 get 方法返回目标
问题描述
每次通过 get 方法调用代理时,我都试图只给用户字符串“Hello”。相反,我得到一个空对象,这是我的目标。
我尝试使用 String、Reflect 等类,但没有得到积极的结果
let proxy = new Proxy({},{
get: function ()
{
return "Hello"
}
})
console.log(proxy)
预期:“你好”
结果:{}
解决方案
每次通过 get 方法调用代理时。
这不是get
陷阱的用途。该方法将处理属性访问,而不是代理本身的访问。您的(代理)对象没有任何属性,它们没有被访问,所以您看到的只是空对象。
请参阅get
此处的陷阱:
const proxy = new Proxy({},{
get: function () {
return "Hello"
}
})
console.log(proxy.someProperty, proxy.really, proxy.anything)
console.log(proxy)
我试图只给用户字符串“Hello”
那是不可能的。代理始终是一个对象。它不能伪装成原始字符串。
推荐阅读
- sql - 在postgresql中按组合计数分组
- react-native - 有没有办法使用 expo 读取短信?
- python - AWS SNS 推送通知请求返回“DeviceTokenNotForTopic”
- php - 我怎样才能在codeigniter中按降序排列月份
- c++ - 我尝试使用 MAP 容器来映射资源,为什么这不起作用?
- php - 可以发送电子邮件但仍然抛出异常吗?
- apache-spark - dropDuplicates() 不适用于 pyspark 但适用于 spark java
- image - 每个颜色通道的位数是什么意思?
- c++ - 如何解决错误“o rule to make target”?
- sudo - 为什么 gammu 只适用于 sudo?