Я использую IDE WebStorm. У меня есть несколько классов, у которых есть функции c. Например, следующее будет выводить на консоль «foo1_bar».
class Foo {
static bar() {
return "foo_bar";
}
}
class Foo1 extends Foo {
static bar() {
return "foo1_bar";
}
}
class Foo2 extends Foo {
static bar() {
return "foo2_bar";
}
}
/**
* @param {Object} type
*/
const test=(type)=>{
console.log(type.bar());
}
test(Foo1);
Это работает, и IDE говорит, что это правильно, но я хочу указать, что объект, переданный для тестирования, должен иметь тип Foo. Если я помещаю Foo в {}, хотя вместо Object, он терпит неудачу. Как правильно это задокументировать?