intermediate

satisfies operator

Проверка shape против target type с сохранением узких inferred literal types.

Оператор `satisfies` проверяет, что expression соответствует target type, сохраняя inferred type expression. Полезен для configuration objects, route maps, theme tokens и lookup tables, где нужна validation без потери literal detail.

					const routes = {
  api: { path: '/v1' },
  admin: { path: '/admin' },
} satisfies Record<string, { path: string }>;
				

Сравните с annotation (может widen), assertion (unsafe) и `as const` (без external shape check). `satisfies` не меняет runtime behavior.

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

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

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

  • Config objects.
  • Сохраняйте literals.
  • Только compile-time.