# unknown vs any
Feature | `any` | `unknown` |
|---|---|---|
Type Checking | Bypasses all type checking. | Enforces type checking before operations. |
Operations | Allows any operation without prior checks. | Requires type narrowing (type guards) before operations. |
Safety | Less type-safe, prone to runtime errors. | More type-safe, helps prevent runtime errors. |
Usage | For maximum flexibility, or when strict typing is not feasible. | For type-safe handling of values with unknown types. |