title: Return value of delete operator?
body: <p>From the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete" rel="nofollow">MDN <code>delete</code> documentation</a>:</p>
  
  <blockquote>
    <p>The delete operator removes a property from an object.</p>
  </blockquote>
  
  <p>Return value:</p>
  
  <blockquote>
    <p>Throws in strict mode if the property is an own non-configurable
    property (returns false in non-strict). Returns true in all other
    cases.</p>
  </blockquote>
  
  <p>There are some things I don't understand:</p>
  
  <ol>
  <li>What is a non-configurable property?</li>
  <li><p>when I run this code in chrome console it return true:</p>
  
  <pre><code>var a={'b':'b'};
  delete a.b; //it return true
  </code></pre></li>
  </ol>
  
  <p>I think the Chrome console runs code in non-strict mode. If that is the case, then according to MDN it should returns <code>false</code>. Why does it return <code>true</code>?</p>
  
  <ol start="3">
  <li>According to MDN the <code>delete</code> operator returns true in all other cases. What are the other cases? I know one case (strict mode with a configurable property). Are there any other cases ?</li>
  </ol>