Проверяет понимание границ применимости JSDoc как альтернативы TypeScript и умение выбирать инструмент типизации под контекст проекта.
JSDoc — это способ описывать типы прямо в комментариях к JavaScript-коду. TypeScript умеет читать эти комментарии и проверять типы без переименования файлов в .ts. Это делает JSDoc удобным компромиссом, когда полноценная миграция на TypeScript невозможна или нецелесообразна.
Достаточно включить allowJs и checkJs в tsconfig.json, и TypeScript начнёт проверять JS-файлы, используя JSDoc-аннотации.
// tsconfig.json
{
"compilerOptions": {
"allowJs": true,
"checkJs": true,
"noEmit": true
}
}
// utils.js
/**
* @param {string} name
* @param {number} age
* @returns {string}
*/
export function greet(name, age) {
return `${name} is ${age}`;
}
greet(42, 'Bob'); // ошибка типовJSDoc не покрывает все возможности TypeScript: сложные дженерики, условные типы, mapped types, декораторы описываются громоздко или не описываются вовсе. Синтаксис комментариев многословнее, а рефакторинг и автодополнение слабее, чем в .ts-файлах.
Итог: JSDoc стоит применять как лёгкий способ типизации в JS-проектах, для скриптов и при постепенной миграции; для крупной активной кодовой базы полноценный TypeScript обычно даёт больше выгоды.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию