Skip to content

Instantly share code, notes, and snippets.

@dlmanning
Last active August 29, 2015 14:21
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dlmanning/9bc1bf830b6e473e0330 to your computer and use it in GitHub Desktop.
Save dlmanning/9bc1bf830b6e473e0330 to your computer and use it in GitHub Desktop.
classy and convenient
class Foo extends Bar () {
constructor () {
super();
this.bar = 'fubar';
}
}
export function FooFactory (...args) {
return new Foo(...args);
}
@shama
Copy link

shama commented May 13, 2015

Thanks! Exactly what I was looking for!

class Parent {
  constructor () {
    this.bar = 'parent';
  }
}

class Foo extends Parent {
  constructor () {
    super();
    this.bar = 'fubar';
  }
}

export default function FooFactory (...args) {
  return new Foo(...args);
}

Which makes both of these work :D

var Foo = require('./foo.js')
var foo = new Foo()

// and

var createFoo = require('./foo.js')
var foo = createFoo()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment