Why is this an issue?

The delete operator is used to remove a property from an object. It only affects its own properties. There are two valid ways to remove a property:

delete will throw a TypeError in strict mode if the property is a non-configurable property.

delete identifier may work if identifier is a configurable property of the global object. For identifier to be configurable, it should have been declared directly as a globalThis property (globalThis.identifier = 1). This form is not common practice and should be avoided. Use delete globalThis.identifier instead if needed.

Aside from that case, deleting variables, including function parameters, never works:

var x = 1;
delete x; // Noncompliant: depending on the context, this does nothing or throws TypeError

function foo(){}
delete foo; // Noncompliant: depending on the context, this does nothing or throws TypeError

Avoid using the delete identifier form. Instead, use one of the valid forms.

var obj = {
  x: 1,
  foo: function(){
  ...
  }
};
delete obj['x'];
delete obj.foo;

Resources

Documentation