satisfies vs Type Annotation: The TypeScript Choice That Changes Inference TypeScript's `satisfies` operator, introduced in version 4.9, allows developers to validate a value against a type without widening the inferred type, preserving literal keys and values. This is particularly useful for config objects, where type annotations discard specific details, while `satisfies` maintains narrow types for safer autocomplete and key checking. You have a config object. You want the compiler to check it against a known shape, so you reach for a type annotation: js type RouteConfig = Record