title: Relationship between the LexicalEnviroment object and [[Enviroment]]
body: <p>It is told that every block of code has a hidden object called <code>LexicalEnviroment</code>. That object contains a reference to the <em>outer</em> scope and an <code>EnviromentRecord</code>, which contains information about the <em>current</em> scope.</p>
  <p>On the other hand, it is said that functions are capable of closure thanks to their <code>[[Enviroment]]</code> construct that &quot;remembers where the function was defined&quot;.</p>
  <p>I'm confused, <em>what is the relationship between <code>LexicalEnviroment</code> object and <code>[[Enviroment]]</code></em>?
  Are they one and the same? Do only functions have <code>[[Enviroment]]</code> construct? Do they have a <code>LexicalEnviroment</code> object then?</p>