2016-12-29 5 views
1

Viele Sprachen haben Typ-Aliase, dh eine Möglichkeit, einen Kurznamen für einen komplexen (vielleicht templateten) Typ zu definieren. Zum Beispiel in C++ Ich habe dies:Typ-Aliase in TypeScript

using SymbolMap = std::map<SymbolKind, std::map<string, Context*>>; 

Jetzt in Typoskript Ich habe Felder mit dieser Art auch:

class SymbolTable { 
    ... 

    private _localSymbols: Map<SymbolKind, Map<string, Context>> = new Map<SymbolKind, Map<string, Context>>(); 
    static private _globalSymbols: Map<SymbolKind, Map<string, Context>> = new Map<SymbolKind, Map<string, Context>>(); 
} 

, die ist leicht gesagt, hässlich. Gibt es eine Möglichkeit, dies leserfreundlicher zu machen?

Antwort

3

Die type alias feature existieren auch in Typoskript, und man kann es wie so verwenden:

type MyMap = Map<SymbolKind, Map<string, Context>>; 

class SymbolTable { 
    private _localSymbols: MyMap = new Map(); 
    private static _globalSymbols: MyMap = new Map(); 
} 

(code in playground)

+0

Kopfmutter für mich, denn nicht besser zu suchen. Vielen Dank. –