Record<K, V> / Readonly<T>
class
Record creates a type with specific keys and value types; Readonly makes all properties immutable.
Syntax
Record<KeyType, ValueType>
Example
javascript
// Record — typed dictionary/map
type ColorMap = Record<string, string>;
const colors: ColorMap = { red: '#e74c3c', blue: '#3498db' };
type UserRoles = Record<'admin' | 'editor' | 'viewer', boolean>;
const roles: UserRoles = { admin: true, editor: false, viewer: true };
// Readonly — immutable object
const config: Readonly<{ api: string; port: number }> = {
api: 'https://api.example.com',
port: 3000,
};
// config.port = 8080; // Error!