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.

If your codebase relies on non-standard behavior that involves deleting variables (which is highly discouraged), you might choose to disable this rule. For example, if you target a legacy runtime with non-standard JavaScript semantics, standard practices may not apply to you.

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