Type Deklarationsreihenfolge in TypeScript

Ist TypeScript abhängig von der Reihenfolge der Typdeklarationen?

Das Ändern der Reihenfolge des Typs führt zu einem Fehler in Angular 2 (Beta.0), das (AFAIK) mit TypeScript selbst implementiert wird (aus diesem Grund erscheint mir dieser Fehler so seltsam und irrelevant):

angular2-polyfills.js:138 Error: Cannot read property 'prototype' of undefined(…)

Angenommen, wir haben eine Dateit1.ts:

export class AuthResponse extends JsonResponse { }
export class JsonResponse {
    public code: ResultCode;
}
export enum ResultCode { }

Wenn die App gestartet wird, wird auf der Clientseite der erwähnte Fehler angezeigt. Aber wenn wir die Reihenfolge der Deklarationen in dieser Datei umkehren, verschwindet der Fehle

Um diesen Fehler zu reproduzieren, benötigen wir fünf weitere Dateien:

t2.ts:

import {AuthResponse, JsonResponse, ResultCode} from './t1'; // this order?

export class DummyAction {
    doSomething() {
        console.log('test, starting ...');

        var v = new AuthResponse();
        return v;
    }
}

app.component.ts:

import {Component, OnInit} from 'angular2/core';
import {DummyAction} from './components/t2';            

@Component({      
    selector: 'root-app',
    templateUrl: '/app/templates/app.html',
})
export class AppComponent implements OnInit {
    constructor() {
        var tester = new DummyAction();
        // tester.runTest();
    }

    ngOnInit() { }
}

app.html:

<h1>TEST</h1>

boot.ts:

import {bootstrap} from 'angular2/platform/browser';
import {AppComponent} from './app.component';

bootstrap(AppComponent, []);

Undindex.html, das etwas größer ist, aber im Wesentlichen die Struktur von @ hindex.html vom Tutorial auf eckig Webseite

Antworten auf die Frage(4)

Ihre Antwort auf die Frage