Codington
0 of 6 problems solved0%

Object Shape Alias

Aliases also work well for object shapes. Optional properties are effectively T | undefined, and readonly communicates intent not to reassign.

Readonly Example

type User = { readonly id: number; name: string; }; const alice: User = { id: 1, name: "Alice" }; alice.name = "Alicia"; // ✅ OK, not readonly alice.id = 2; // ❌ Error:

Your Task

  1. Define type Person = { readonly id: number; name: string; nickname?: string }.
  2. Implement display(p: Person): string returning:
  • "<name> (<nickname>)" if nickname exists
  • otherwise "<name>".