TS2790

error TS2790: The operand of a ‘delete’ operator must be optional.

Broken Code ❌

1
2
3
4
5
6
7
8
9
10
11
interface User {
age: number;
name: string;
}

const benny: User = {
age: 35,
name: 'Benny'
};

delete benny.age;

Fixed Code ✔️

When using the delete operator to remove a property from an object, the property must be defined as optional in TypeScript:

1
2
3
4
5
6
7
8
9
10
11
interface User {
age?: number;
name: string;
}

const benny: User = {
age: 35,
name: 'Benny'
};

delete benny.age;