I持っている各操作の方法(追加、MULTなど)は数学演算子
function Rational(nominator, denominator){
this.nominator = nominator;
this.denominator = denominator || 1;
}
Rational.prototype = {
mult: function(that) {
return new Rational(
this.nominator * that.nominator,
this.denominator * that.denominator
);
},
print: function() {
return this.nominator + '/' + this.denominator;
}
};
var a = new Rational(1,2),
b = new Rational(3);
console.log(a.mult(b).print()); // 3/2
は私がすることはできますがあります。この合理的なクラスのそれより「自然」などを処理するために合理的なクラスを有効にしますconsole.log(a * b)
を有効にしますか?
Javascriptが演算子のオーバーロードをサポートしていません。あなたは 'print()'を 'toString'に置き換えることができます。 – georg
console.log(ファンクション "a * b" .replace( "* b"、 "。mult(b).print()")))))))) [1](http://stackoverflow.com/a/1390694/1113772)または[2](http://stackoverflow.com/questions/14147290/how-can-i-set-loop-imacros-by- javascript)に役立つマクロに関する質問です。 –