Прототип JSDoc как параметр

Я использую PhpStorm / WebStorm. Интересно, можно ли JSDoc задокументировать метод, принимающий прототип, и вернуть экземпляр этого прототипа?

то есть:

/**
 * @param {prototype<T>} Model
 * @param {Object} props
 * @return {T} a new instance
 * @template {T}
 */
function create(Model, props) {
    return new Model(props);
}
Как создавать пользовательские общие типы в Python (50/100 дней Python)
Как создавать пользовательские общие типы в Python (50/100 дней Python)
Помимо встроенных типов, модуль типизации в Python предоставляет возможность определения общих типов, что позволяет вам определять типы, которые могут...
1
0
118
1

Ответы 1

См. https://github.com/google/closure-compiler/wiki/Generic-Types (последний пример похож на ваш случай)

Сталкивались ли вы с какими-либо проблемами в среде IDE?

ты имеешь ввиду пример identity = function(a) { return a; }? Этот работает в PhpStorm. Однако в моем случае T должен быть самим Model, а не прототипом Model. Если модель является классом, то T будет преобразован в (class {}).__proto__, который является ƒ () { [native code] }, вместо Model.prototype.

LKHO 28.03.2018 19:27

Другие вопросы по теме