JS Built-ins
TypeScriptadvanced

Advanced β€” deepFreeze

πŸ“– Usage Example
const obj = deepFreeze({ a: { b: 1 } })
Object.isFrozen(obj)     // β†’ true
Object.isFrozen(obj.a)   // β†’ true

deepFreeze recursively calls Object.freeze on every nested object to prevent mutation.

Advanced Patterns: deepFreeze

Challenge: Implement deepFreeze<T extends object>(obj: T): Readonly<T> that recursively freezes an object and all its nested objects.

const obj = deepFreeze({ a: { b: 1 } })
Object.isFrozen(obj.a)  // β†’ true
πŸ’‘ Hints (1)
  • β€’ Recurse into each value that is an object before freezing the parent.