ES6类使构造函数“ +”可以使用

时间:2019-10-02 11:27:31

标签: javascript class ecmascript-6

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)
    };


  }

我希望能够执行新Vector(4,4)+新Vector(0,2)-> Vector(4,6)。 我尝试过更改多个部分并进行查看,但我发现最接近的是旧的ES5方法。

1 个答案:

答案 0 :(得分:1)

其他答案已经指出,您不能在javascript中重载运算符,因此我们可以做的就是查看您正在使用的add方法。

似乎没有用,因为您没有将第二个Vector中的值添加到结果中。

您可以这样尝试:

add = function (otherVector) {
    return new Vector(this.x + otherVector.x, this.y + otherVector.y)
};