Как можно отключить строгую типизацию в TS для определенных мест?
Основы TypeScript
Строгость TypeScript можно ослабить локально — в конкретном месте, файле или для отдельной проверки.
В конкретной строке
// @ts-expect-error — тип из библиотеки неверен, issue #123
legacyLib.init(options);@ts-expect-error лучше, чем @ts-ignore: если ошибка исчезнет, компилятор сообщит, что комментарий больше не нужен.
Для значения
const data = JSON.parse(raw) as unknown; // безопасно: потом сузить
const anyValue = legacyValue as any; // крайняя мераДля файла
// @ts-nocheckОтключает проверку всего файла — используют при постепенной миграции.
В конфиге
strict: false или отдельные флаги (strictNullChecks, noImplicitAny) — для всего проекта, обычно временно.
Как держать под контролем
Каждое ослабление — с комментарием почему; правила ESLint (ban-ts-comment, no-explicit-any) заставляют это делать.
Коротко для собеседования
@ts-expect-error для строки, as unknown/any для значения, @ts-nocheck для файла, флаги tsconfig для проекта; всегда с объяснением.
Подробнее: TypeScript — Comments to suppress errors