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.