Skip to content

variableDeletions

Reports attempting to delete variables with the delete operator.

✅ This rule is included in the ts untyped preset.

The delete operator is only meant to remove properties from objects, not variables. Attempting to delete a variable in strict mode will cause a syntax error. In non-strict mode, it will silently fail and return false without actually deleting the variable, which can lead to confusing bugs.

let count = 5;
delete count;
function calculate(value: number) {
delete value;
}

This rule is not configurable.

This rule should always be enabled, as attempting to delete variables is always incorrect behavior in JavaScript and TypeScript.

Made with ❤️‍🔥 in Boston by Josh Goldberg and contributors.