intermediate

Типизация API, React и Node-сервисов

External data, props, events, handlers, service boundaries и runtime validation.

Application TypeScript сильнее всего на boundaries: parse API responses из `unknown`, type React props и events explicit для public contracts, моделируйте Node service inputs/outputs. Runtime validation дополняет static types, потому что remote data can lie.

Generic `fetch<T>`, который casts JSON к `T`, unsafe без validation. Shared backend/frontend types drift без generation или validation на boundary.

					const data: unknown = await response.json();
const user = userSchema.parse(data);
				

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

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

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

  • Parse external data.
  • Type public props.
  • Избегайте unsafe generic fetch casts.