Con una 'class' de JavaScript (que realmente no es una class, lo sé), es posible dividir una gran definición al poner los methods en files separados, como este:
var Foo = function () { console.log('initializing foo'); }; Foo.prototype.render = require('./render');
Pero con las classs ES6, parece que la syntax descarta este enfoque; parece que los methods siempre tienen que escribirse como literales de funciones dentro del bloque de classs.
Intenté esto en el 6to5 REPL:
class Foo { constructor() { console.log('initializing foo'); } require('./render'); }
… pero tiene errores.
Como ejemplo, la syntax de class de CoffeeScript me permite hacer esto:
class Foo constructor: -> console.log 'initializing foo' render: require './render'
¿Realmente no hay forma de hacer esto con las classs de ES6?
Las classs son solo azúcar sintáctico. Entonces puedes hacer
class Foo { constructor() { console.log('initializing foo'); } } Foo.prototype.render = require('./render');
O podrías crear un getter:
class Foo { constructor() { console.log('initializing foo'); } get render() { return require('./render'); } }
¿Qué hay de esto?
class Foo { constructor() { console.log('initializing foo'); } render() { require('./render'); } }