For the give typescript, a class is defined within a module
module league{ export class Player { first_name: string; last_name: string; constructor(first_name: string, last_name: string){ this.first_name = first_name; this.last_name=last_name; } } } and it is translated to javascript:
var league; (function (league) { var Player = (function () { function Player(first_name, last_name) { this.first_name = first_name; this.last_name = last_name; } return Player; })(); league.Player = Player; })(league || (league = {})); the typescript code is easy to understand but being not so familiar with javascript, can anyone explain the logic behind the javascript it generated?