# String Literal Types String literal types are a powerful feature in TypeScript that allows you to specify exact string values a variable can hold. This is useful for creating more precise types and can help catch errors at compile time. ## Example ```typescript const DIRECTIONS = ["left", "right", "up", "down"] as const; type Direction = typeof DIRECTIONS[number]; // Usage function move(direction: Direction) { // ... } // Array Usage for (const dir of DIRECTIONS) { move(dir); } ``` In the above examples you can see how we can both use the `Direction` type directly and also leverage the `DIRECTIONS` array for type-safe values.