Языковая служба JSDoc/JavaScript: как аннотировать выражение? (как кастовать)
Я использую код Visual Studio с языковой службой JavaScript, настроенной как:
{
"compilerOptions": {
"checkJs": true
}
}
И я не могу найти способ что-то разыграть, как здесь:
Приведенный выше пример должен работать в Closure Compiler (не проверено), как описано здесь. Но я не могу найти эквивалентный синтаксис для JavaScript Language Service.
Я также попробовал следующее простое утверждение, которое тоже не работает:
let castedWindow = (/** @type {any} */(window)); // castedWindow: Window (I want `any`)
Я спрашиваю, как делать приведения, и если кто-то знает, где задокументирован синтаксис (или, если он недокументирован, как он работает).
Возможно ли то, что я спрашиваю?
Спасибо за ваше время!
1 ответ
Начиная с TypeScript 2.5, была введена поддержка синтаксиса утверждения типа / преобразования типов в режиме checkJs/@ts-check.
Введите синтаксис утверждения / приведения в
checkJs
/@ts-check
РежимTypeScript 2.5 предоставляет возможность утверждать тип выражений при использовании простого JavaScript в ваших проектах. Синтаксис является
/** @type {...} */
комментарий к аннотации с последующим выражением в скобках, тип которого необходимо переоценить. Например:var x = /** @type {SomeType} */ (AnyParenthesizedExpression);