TypeScript provides two ways to tell the compiler that a literal value should be typed as a literal type like 42 rather than the
primitive one number:
-
as const tells TypeScript to infer the literal type automatically
-
as T where T denotes a literal type to instruct TypeScript to infer the literal type explicitly
In practice, as const is preferred because the type checker doesn’t need re-typing the literal value.
Therefore, the rule flags occurrences of explicit literal types that can be replaced with an as const assertion.