The semantics of the `delete` operator are a bit tricky, and it can only be reliably used to remove properties from objects. Pass anything else to it, and you may or may not get the desired result.

## Noncompliant Code Example

    var x  = 1;
    delete x;       // Noncompliant

    function foo(){
    ..
    }

    delete foo;  // Noncompliant

## Compliant Solution

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