ЗАДАЧА: Векторный тип
Напишите конструктор Vector, представляющий вектор в двумерном пространстве. Он принимает параметры x и y (числа), которые хранятся в одноимённых свойствах.
Дайте прототипу Vector два метода, plus и minus, которые принимают другой вектор в качестве параметра, и возвращают новый вектор, который хранит в x и y сумму или разность двух (один this, второй — аргумент)
console.log(new Vector(1, 2).plus(new Vector(2, 3)));
// → Vector{x: 3, y: 5}
КОД:
function Vector(x,y) {
this.x = x;
this.y = y;
}
Vector.prototype.plus = function(x,y) {
var xx = this.x - x;
var yy = this.y - y;
return 'Vector: x= ' + xx + ' y=' + yy;
};
Vector.prototype.minus = function(x, y) {
var xx = this.x - x;
var yy = this.y - y;
return 'Vector: x= ' - xx - ' y=' - yy;
};
ВОПРОС:
console.log(new Vector(1, 2).plus(new Vector(2, 3)));
Выдает
"Vector: x= NaN y=NaN"
Подскажите пожалуйста в чем ошибка?! Спасибо большое!
P.S. Вот так все работает:
console.log(new Vector(1, 2).plus(2, 3));
Выдает "
Vector: x= -1 y=-1"
т.е. все окей.