title: Return this in static function class
body: <p>I have two objects, I want to make singleton class and then call them like this <strong>Row.init([789]).render()</strong>. In the first case I try and it works:</p>
  
  <pre><code>var Row = (function (options) {
          console.log(options);
          this.data = [123];
          this.render = function () {console.log(this.data);}
          this.init = function (data) {
              this.data = data;
              return this;
          }
          return this;
      })();
  </code></pre>
  
  <p>but in the second case:</p>
  
  <pre><code>class Row {
      constructor() {
          this.data = {};
      }
      static init(data) {
          this.data = data;
          return this;
      }
      fill() {
          return this;
      }
      render() {
          console.log(this.data);
      }
  }
  </code></pre>
  
  <p>It cannot call render method, I think it doesnt return this for me. How do I fix it? And in the first case, how do I pass options parameter?</p>