intermediate

Strict mode и inference

Strict compiler options и local inference против unsafe nulls, implicit any и слабых контрактов.

Strict TypeScript переносит common runtime risks в compile-time feedback: null handling, implicit `any`, unchecked property access и weak function types. Хороший код позволяет inference работать локально вместо annotations everywhere, которые случайно widen useful literals.

Аннотируйте public API boundaries и recursive functions, где inference не справляется. Отключение strict для silence errors скрывает design issues.

					const routes = { api: '/v1' } as const; // сохраняет literal type
				

На интервью: объясняйте на конкретном примере и называйте, что проверяют в production code.

Типовые ошибки: путать похожие API и забывать edge cases в live coding.

Компромисс часто между ясностью и безопасностью или expressiveness и maintainability. Чеклист:

  • Strict enabled.
  • Annotate boundaries, не каждый local.
  • Nullability intentional.