title: What's the benefit of Object.freeze() not freezing objects within the passed object?
body: <p>I was learning more about the methods of JavaScript's <code>Object</code> constructor on MDN and I noticed that the last sentence of <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze" rel="noreferrer"><strong>Object.freeze's description</strong></a> reads:</p>
  
  <blockquote>
    <p>Note that values that are objects can still be modified, unless they are also frozen.</p>
  </blockquote>
  
  <p>A behavior like that seems like it should be opt-in. What exactly is the benefit of having to manually freeze a frozen object's objects recursively?</p>
  
  <h3>If I'm freezing an object, why would I want the objects inside of it to still be mutable?</h3>