Я только начинаю делать несколько более серьезных проектов в javascript, и я чувствую, что отсутствие типа становится проблемой.В частности, я часто нахожу, что мои занятия начинаются с неправильных типов, ошибка, которую желательно легко исправить, но иногда она стоит мне много времени.Вот почему я хотел бы знать: существуют ли в javascript методы для утверждения, что свойство класса имеет правильный тип?Как и в этом примере (a всегда должно быть строкой, b всегда должно быть экземпляром класса Bar, а c всегда должно быть числом):
class Foo {
constructor(a,b,c){
if(typeof a !== "string"){
throw "Wrong type";
}
this.a = a;
if(!(b instanceof Bar)){
throw "Wrong type";
}
this.b = b;
if(typeof c !== "number"){
throw "Wrong type";
}
this.c = c;
}
setA(a){
if(typeof a !== "string"){
throw "Wrong type";
}
this.a = a;
}
setB(b){
if(!(b instanceof Bar)){
throw "Wrong type";
}
this.b = b;
}
setC(c){
if(typeof c !== "number"){
throw "Wrong type";
}
this.c = c;
}
}
Это похоже на плохой способ сделать это, так как это очень громоздко и повторяюще, а также странно просто бросать «неправильный тип».Есть ли лучшие практики в этом отношении?Эта проблема обычно просто игнорируется?
Я пытался исследовать это, но не смог найти что-то, даже упоминая эту проблему.
Кроме того, я знаю, что это потенциальнодовольно субъективный вопрос, и может не подойти для этого сайта.В таком случае, есть ли у кого-нибудь указатели на то, где я должен задавать такой вопрос?