#javascript #class #documentation #jsdoc
#javascript #класс #Документация #jsdoc
Вопрос:
Я назначаю функцию конструктора класса своей переменной clazz
. Новый экземпляр inst
является экземпляром SomeClass
и описывается как @type {SomeClass}
с помощью JSDoc:
class SomeClass {}
/** @type {???} */
const clazz = SomeClass;
/** @type {SomeClass} */
const inst = new clazz();
Как я могу описать clazz
переменную с помощью JSDoc?
Ответ №1:
IDEA понимает эту форму: @type {typeof SomeClass}
:
class SomeClass {
static NAME = 'name'
}
/** @type {typeof SomeClass} */
const clazz = SomeClass;
/** @type {SomeClass} */
const inst = new clazz();
const staticName = clazz.NAME; // IDEA autocomplete is available here