title: Creating new objects from frozen parent objects
body: <p>This example creates an object, freezes it, and then creates a new object from the frozen object.
  If the second object tries to change the test property, it can't. It remains frozen with the
  first object's value of 10.</p>
  
  <pre><code>//Create an object and freeze it
  
  var first = {
      test: 10
  };
  Object.freeze(first);
  
  //Create a second object from the first one and
  //try and change the new test property (you can't)
  
  var second = Object.create(first);
  second.test = 20;
  console.log(second.test); //10
  </code></pre>
  
  <p>Here are my questions:</p>
  
  <p>Is <code>second.test</code> a new property on a new object, or is it just a reference to the property in the frozen first object?<br>
  Is it possible to use the frozen <code>first.test</code> as a default value, but let <code>second.test</code> overwrite it if it needs to?</p>
  
  <p>My reason for asking is because I want to make an immutable a base object as a template with default values, and then use it to make new objects that I can customize. What's the best approach for this?</p>
  
  <p>Thanks!</p>