<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi devs,</p>
    <p>I am looking for a mechanism to have some static methods
      operating on data which can be overriden.</p>
    <p>U used to do it with an overriden static member, but it seems
      that TypeScript got stricter and doesn't allow that anymore.</p>
    <p>How would you implement that?  Is there some singleton concept in
      TypeScript? <br>
    </p>
    <p><br>
    </p>
    <p>Thanks, Ondra<br>
    </p>
    <pre class="lang-js prettyprint prettyprinted" style=""><code><span class="kwd">
class</span><span class="pln"> A </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">static</span><span class="pln"> foo </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[-</span><span class="lit">1</span><span class="pun">];</span><span class="pln">
    </span><span class="kwd">static</span><span class="pln"> getLastFoo</span><span class="pun">(){</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> A</span><span class="pun">.</span><span class="pln">foo</span><span class="pun">[</span><span class="pln">A</span><span class="pun">.</span><span class="pln">foo</span><span class="pun">.</span><span class="pln">length</span><span class="pun">-</span><span class="lit">1</span><span class="pun">];</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> 
</span><span class="pun">}</span><span class="pln">

</span><span class="kwd">class</span><span class="pln"> B extends A </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">static</span><span class="pln"> foo </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[</span><span class="lit">1</span><span class="pun">,</span><span class="lit">2</span><span class="pun">,</span><span class="lit">3</span><span class="pun">];</span><span class="pln"> </span><span class="com">// Did this work in TS 1.8?</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

B</span><span class="pun">.</span><span class="pln">getLastFoo</span><span class="pun">();</span><span class="pln"> </span><span class="com">// &lt;--- gives 3</span></code></pre>
    <p><br>
    </p>
    <p>Ondra<br>
    </p>
    <p><br>
    </p>
    <pre class="moz-signature" cols="72">-- 
--
Ondrej Zizka, Windup project, Brno</pre>
  </body>
</html>