<p dir="auto">When writing code using Typescript, too many 'this...' needs to be used.<br>
In most places, it should be automatically inferred. Makes code look lot nicer</p>

<p dir="auto"><strong>TypeScript Version:</strong></p>
<p dir="auto">1.7.5 / 1.8.0-beta / nightly (1.9.0-dev.20160217)</p>
<p dir="auto"><strong>Code</strong></p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="// A self-contained demonstration of the problem follows...
"><pre class="notranslate"><span class="pl-c">// A self-contained demonstration of the problem follows...</span></pre></div>
<p dir="auto"><strong>Expected behavior:</strong></p>
<p dir="auto"><strong>Actual behavior:</strong></p>
<p dir="auto">The need to prefix all calls to methods and variables in the class body with the <strong>this</strong> keyword makes the code harder to read and look cluttered.</p>
<p dir="auto">Instead the TypeScript compiler could add the <strong>this</strong> keyword automatically during the compilation to JavaScript. This would make code that looks like this…</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="var something = this.doSomething(this.getSomething());
this.addSomething(something);"><pre class="notranslate"><span class="pl-k">var</span> <span class="pl-s1">something</span> <span class="pl-c1">=</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-en">doSomething</span><span class="pl-kos">(</span><span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-en">getSomething</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-en">addSomething</span><span class="pl-kos">(</span><span class="pl-s1">something</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">look like..</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="var something = doSomething(getSomething());
addSomething(something);"><pre class="notranslate"><span class="pl-k">var</span> <span class="pl-s1">something</span> <span class="pl-c1">=</span> <span class="pl-en">doSomething</span><span class="pl-kos">(</span><span class="pl-en">getSomething</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-en">addSomething</span><span class="pl-kos">(</span><span class="pl-s1">something</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">If I’m not mistaken it should be easy to determine if the <strong>this</strong> keyword should be prefixed or not. I know that TypeScript tries to resemble the ES6 syntax. But to me code clarity feels more important.</p>