У меня есть класс для которого нужно написать типы:
class Point {
constructor(x:number, y:number) {
if (arguments.length > 2 || arguments.length < 2) {
throw new Error('You send more or less arguments')
}
this.x = x;
this.y = y;
}
static randomNumber(from:number, to:number) {
if (arguments.length > 2 || arguments.length < 2) {
throw new Error('You send more or less arguments')
}
return Math.random() * (to - from) + from;
}
static randomPoint(xFrom:number, xTo:number, yFrom:number, yTo:number) {
if (arguments.length > 4 || arguments.length < 4) {
throw new Error('You send more or less arguments')
}
return new Point(
Point.randomNumber(xFrom, xTo), Point.randomNumber(yFrom, yTo)
)
}
}
выбивает Cannot assign `x` to `this.x` because property `x` is missing in `Point`
Как это сделать правильно?