Javascript 是否可以重新定义的基本对象值以返回内部道具';s值多少?
问题: 是否可以重新定义基本对象值以返回内部道具Javascript 是否可以重新定义的基本对象值以返回内部道具';s值多少?,javascript,object,javascript-objects,Javascript,Object,Javascript Objects,问题: 是否可以重新定义基本对象值以返回内部道具 让obj={ x:1, y:2 } obj//2当然可以定义一个返回成员的valueOf方法,但是您仍然需要以某种方式调用该方法——要么在转换中隐式调用,要么显式调用valueOf不会神奇地使obj本身变成另一回事 const obj={ x:1, y:2, 价值(){ 把这个还给我; } }; 控制台日志(obj); 控制台日志(obj.x,obj.y) console.log(obj.valueOf()) 控制台日志(obj+5) cons
让obj={
x:1,
y:2
}
obj//2当然可以定义一个返回成员的valueOf
方法,但是您仍然需要以某种方式调用该方法——要么在转换中隐式调用,要么显式调用valueOf
不会神奇地使obj
本身变成另一回事
const obj={
x:1,
y:2,
价值(){
把这个还给我;
}
};
控制台日志(obj);
控制台日志(obj.x,obj.y)
console.log(obj.valueOf())
控制台日志(obj+5)
console.log(“y:+obj)
valueOf
,toString
和toJSON
可用于处理某些(但不是全部)情况:
var obj={a:1,
b:2,
c:3,
toJSON:function(){返回this.a},
valueOf:function(){返回this.b},
toString:function(){返回this.c}
console.log(obj,+obj,`${obj}`)
如何从justobj
获取2
?@zer00ne,因为它返回obj.y
的值没有冒犯,但你的问题对我来说没有意义。你在寻找什么样的“valueOf”和巫婆元素?@MatthewHarwood onlyobj.y
返回2如果你能做到这一点,它的用例是什么?或者你想解决什么问题?
let obj = {
x: 1,
y: 2
}
obj // 2 <- the value of obj.y
obj.x // 1
obj.y // 2