如何创建一个新的原语或对象,我可以使用Number?中使用的运算符
我想创建一个像Number这样的新对象,使用不同的名称,另一个属性以及我可以使用运算符的位置,即4 + 5
答案 0 :(得分:0)
如果您想专门针对数字,可以使用Number对象。如果你想要它用于其他东西,并且只使用Number作为例子,你不能这样做,因为JavaScript不支持运算符重载。
你最好的方法就是在this
函数中返回plus
来链接在一起,所以你可以这样做:
var n1 = new MyNumber(1);
var n2 = new MyNumber(2);
var n3 = new MyNumber(3);
var sum = n1.plus(n2).plus(n3);
// sum: 6
除非您需要可变数字,否则您还必须确保MyNumber
创建新MyNumber
并返回该值。
答案 1 :(得分:0)
您可以覆盖对象valueOf
原型来创建自己的原语:
var N = function(n) {
this._value = n;
}
N.prototype.valueOf = function() {
return this._value+1;
};
console.log( new N(4) + 4 ); // 9
请在此处查看示例和更多信息:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/valueOf