title: What do double brackets mean in javascript and how to access them
body: <h1>Situation</h1>
  
  <p>I have the following function which uses <strong>Promise</strong>.  </p>
  
  <pre><code>var getDefinitions = function() {
      return new Promise(function(resolve) {
          resolve(ContactManager.request("definition:entities"));
      });
  }
  
  var definitions = getDefinitions()
  </code></pre>
  
  <p>The contents of <code>definitions</code> is:</p>
  
  <pre><code>Promise {
      [[PromiseStatus]]: "resolved",
      [[PromiseValue]]: child
  }
  </code></pre>
  
  <p>Accessing the <code>PromiseValue</code> property directly returns <em>undefined</em></p>
  
  <pre><code>var value = definitions.PromiseValue; // undefined
  </code></pre>
  
  <h1>Question</h1>
  
  <p>What do the double brackets <code>[[ ]]</code> mean, and how do I retrieve the value of <code>[[PromiseValue]]</code>.</p>