TS18013
The operand of a 'delete' operator cannot be a read-only property.
Broken Code ❌
interface User {
readonly name: string;
}
const user: User = { name: 'John' };
delete user.name;Fixed Code ✔️
interface User {
name?: string;
}
const user: User = { name: 'John' };
delete user.name;Alternative:
interface User {
readonly name: string;
}
const user = { name: 'John' } as User;
const { name, ...rest } = user;Readonly properties cannot be deleted. Remove the readonly modifier or create a new object without the property.
