コンストラクタから他のコンストラクタを呼び出す方法

※この記事はJSX Advent Calendar 2013の一部です。

JSXでは「this(...)」と書くことで、あるコンストラクタから別のコンストラクタを呼び出すことができます。下の例はJSXのコンパイラからの抜粋。

class NodePlatform extends Platform {

    function constructor () {
         this(node.path.dirname(node.__dirname));    // <----- ココ
    }

    function constructor (root : string) {
        this._root = Util.resolvePath(root);
    }

また、親クラス(あるいは Interface あるいは Mixin)のコンストラクタを呼び出す際には、「super(...)」あるいは「親クラス名(...)」とします。

Javaと一緒ですね!