debugMajor
TypeError: Cannot read properties of undefined — defensive access patterns
Viewed 0 times
optional chainingCannot read propertiesundefinednullish coalescingstrictNullChecks
browsernodejs
Error Messages
Problem
The most common JavaScript runtime error. Accessing a property on undefined or null crashes the application. Deep nested object access is especially prone.
Solution
Use optional chaining: user?.address?.city instead of user.address.city. For function calls: callback?.(). For array access: arr?.[0]. For default values: const city = user?.address?.city ?? 'Unknown' (nullish coalescing). In TypeScript: enable strictNullChecks to catch these at compile time. For API responses: validate with Zod/yup at the boundary instead of defensive checks everywhere.
Why
JavaScript returns undefined for missing properties but throws when you access properties OF undefined. Optional chaining short-circuits the entire chain when any part is null/undefined.
Revisions (0)
No revisions yet.