TS2779

The left-hand side of an assignment expression may not be an optional property access.

Broken Code ❌

type User = {
  id: number;
  name: string;
};
const someUsers: Map<string, User> = new Map();
someUsers.get('some-user-id')?.name = 'Benny';

Fixed Code ✔️

You cannot assign a value to a property which might be undefined. As Map.get() may return undefined, you have to add an existence check:

type User = {
  id: number;
  name: string;
};
const someUsers: Map<string, User> = new Map();
const user = someUsers.get('some-user-id');
if (user) {
  user.name = 'Benny';
}