<div dir="ltr">I came an interesting <a href="http://stackoverflow.com/a/37161488/3141234">SO question</a> which pointed out a strange quirk: a computed property must always use the &quot;var&quot; keyword, even if it&#39;s read-only, and only referencing other immutable data.<div><br></div><div><pre class="" style="margin-top:0px;margin-bottom:1em;padding:5px;border:0px;font-size:13px;width:auto;max-height:600px;overflow:auto;font-family:Consolas,Menlo,Monaco,&#39;Lucida Console&#39;,&#39;Liberation Mono&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Courier New&#39;,monospace,sans-serif;color:rgb(57,51,24);word-wrap:normal;background-color:rgb(239,240,241)"><code style="margin:0px;padding:0px;border:0px;font-family:Consolas,Menlo,Monaco,&#39;Lucida Console&#39;,&#39;Liberation Mono&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Courier New&#39;,monospace,sans-serif;white-space:inherit"><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">class</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(43,145,175)">Test</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">{</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
  </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">let</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> hello </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">=</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">&quot;hello&quot;</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
  </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">let</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> world </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">=</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">&quot;world&quot;</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
  </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">var</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> phrase</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(43,145,175)">String</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">{ //why must this be &#39;var&#39;?</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
     </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">return</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">self</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">.</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">hello </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">+</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">self</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">.</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">world
  </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">}</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">}</span></code></pre></div><div>It would be more appropriate for such a read-only, immutable property, to use the &quot;let&quot; syntax, so that its immutability is correctly expressed.<br></div><div><br></div><div>Thoughts?</div></div>