Итак, я хочу иметь неизменный класс Vector. Для этого мне нужно иметь публичный getter для координат x и y и частный сеттер, чтобы я мог фактически инициализировать эти значения в конструкторе.
У меня есть несколько вариантов в моем распоряжении, поэтому мне интересно, какой из них соответствует конвенции.
Я мог бы сделать это вот так:
class Vector {
constructor(private _x: number, private _y: number) { }
public get x() {
return this._x;
}
public get y() {
return this._y;
}
}
Но я не знаю, является ли использование подчеркивания обычным делом. Это может быть проблемой, поскольку это имя будет видимым в intellisense.
Второй вариант может быть
class Vector {
constructor(private x: number, private y: number) { }
public get X() {
return this.x;
}
public get Y() {
return this.y;
}
}
Насколько мне известно, только классы начинаются с капиталов в JS, поэтому это может быть и плохая идея.
Каков предпочтительный способ справиться с этим?