: If a union of types is used within the template, TypeScript generates every possible combination of those strings.
: New as clauses allow developers to transform property names when creating new object types. For example, you can take an existing interface and generate a new one with "changed" suffixes for event handling. TypeScript 4.1 beta brings template literal types
TypeScript 4.1 also introduced to support these new capabilities: Uppercase Lowercase Capitalize Uncapitalize : If a union of types is used
Example : Combining type Color = "red" | "blue" and type Size = "small" | "large" into $Color-$Size results in four distinct types: "red-small" , "red-large" , "blue-small" , and "blue-large" . Core Features and Utility Types TypeScript 4
: When combined with conditional types and the infer keyword, template literal types can act as a simple parser, breaking down complex strings into their constituent parts for deep type inspection. Conclusion Documentation - Template Literal Types - TypeScript
The introduction of template literal types solved several long-standing type-safety challenges: