javascript - 如何使对象在记录时表现为单个许可值,但在分配给变量时充当对象意味着赋予其参考?
问题描述
**
注意:请尝试阅读整个问题。
** 我想要一个对象必须如下所述:
让
const Value = function(val){
this._value = val;
};
const space2D = {
x:new Value(0),
y:new Value(0),
};
//must behave as follow
console.log(space2D.x); //Must log 0 not JSON Object
var temp = space2D.x //must store refrence as it do
我从 react-native Animated 值中得到了这种行为
作为
var pan = Animated.ValueXY({x:3,y:4});
console.log(pan.x); //get 3
// But x is a object of instance new Animated.Value();
//How 3 ?why not JSON Formatted
x 是一个对象,我们可以通过记录其属性来检查它,如下所示
console.log(Object.values(pan.x));//output:[{},[],0,0,null]
但是当我做分配操作时,它就像正常的对象一样,因为给定的参考不是 3
var temp = pan.x ;//stored reference
作为它的对象
再次检查它
console.log(Object.values(temp));//output:[{},[],0,0,null]
一个对象在仅记录时如何充当原始值,但在分配给其他变量时如何充当对象?
我试过 Proxy ,getter ,setter , Symbol.toPermitives 。没有办法获得这种行为?
解决方案
推荐阅读
- java - 无法在 ec2 上初始化类 net.sourceforge.tess4j.TessAPI
- excel - Powershell - 格式化数据后读取 Excel
- android - 如何识别安装应用程序正在使用android中的哪个证书
- r - 具有其他数据密度曲线的直方图
- javascript - 如何检查js上的输入字段并根据文本值编写和回答
- android - Android Bundle 包在启动时崩溃
- ruby-on-rails - NLP / Rails 情感搜索
- angular - Angular9 路由器.导航
- android - Android Studio 将使用过的导入语句设为未使用?
- visual-studio-code - 如何修复 VS Code 中的光标滞后?