title: Can't define variable in JavaScript object literal
body: <p>Why does this code work...</p>
  
  <pre><code>var message = {
      texts: {
          text1: 'Hello',
          text2: 'World'
      },
      greet: function() {
          console.log(this.texts.text1 + ' ' + this.texts.text2 + '!');
      }
  }
  message.greet();
  </code></pre>
  
  <p>...but this doesn't?</p>
  
  <pre><code>var message = {
      texts: {
          text1: 'Hello',
          text2: 'World'
      },
      both: this.texts.text1 + ' ' + this.texts.text2 + '!',
      greet: function() {
          console.log(this.both);
      }
  }
  message.greet();
  </code></pre>
  
  <p>It gives me "both is not defined" error. What am I missing here? Something's wrong with<code>this.both</code>? I'm total newbie when it comes to object literal</p>