Accessing specific properties:
employee.name: John Doe
employee.age: 32
employee.isManager: true
Accessing dynamic properties:
employee["department"]: Engineering
employee["employeeId"]: 12345
employee["fullTime"]: true
Added property - employee["hireDate"]: 2021-05-15
In TypeScript, this would cause a type error:
// employee["salary"] = { amount: 75000, currency: "USD" };
// Error: Property 'salary' of type 'object' is not assignable to string index type 'string | number | boolean'
All properties must match the index signature type in TypeScript:
interface EmployeeDirectory {
[id: string]: string | number | boolean;
name: string; // OK: string is assignable to 'string | number | boolean'
age: number; // OK: number is assignable to 'string | number | boolean'
isManager: boolean; // OK: boolean is assignable to 'string | number | boolean'
// salary: object; // Error: object is not assignable to 'string | number | boolean'
}