class Vector {
constructor(x,y) {
this.x = x || 0;
this.y = y || 0;
}
add = function (c) {
return new Vector(this.x + c.x,this.y+c.y)
};
}
我希望能够执行 new Vector(4,4) + new Vector(0,2) --> Vector(4,6)。 我尝试过更改多个部分并查看,但我发现最接近的是旧的 ES5 方法。
最佳答案
其他答案已经指出你不能在 javascript 中重载运算符,因此我们可以做的是研究你正在使用的 add 方法。
它看起来不起作用,因为您没有将第二个向量中的值添加到结果中。
你可以这样尝试:
add = function (otherVector) {
return new Vector(this.x + otherVector.x, this.y + otherVector.y)
};
关于javascript - ES6 Class 使得构造函数 "+"能够被使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58200556/