TypeScript: Interface vs Class vs Modules vs Program vs Function

Przeczytałem specyfikację TypeScript znajdującą się pod adresem:http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf

Jednak pomyliłem się z następującymi:

BerłoKlasaModułyProgramyFunkcje.Deklaracja vs. var

Czy ktoś mógłby pomóc w zrozumieniu, który z powyższych powinien być użyty, kiedy? Czy interfejs i klasa są takie same jak wersja C #?

questionAnswers(1)

yourAnswerToTheQuestion