Skip to content

Instantly share code, notes, and snippets.

@donnut
Created September 10, 2014 10:49
Show Gist options
  • Save donnut/7a99207254d23de08ecb to your computer and use it in GitHub Desktop.
Save donnut/7a99207254d23de08ecb to your computer and use it in GitHub Desktop.
Typescript function overloading
var suits = ["hearts", "spades", "clubs", "diamonds"];
function pickCard(x: {suit: string; card: number; }[]): number;
function pickCard(x: number): {suit: string; card: number; };
function pickCard(x): any {
if (typeof x == "object") {
var pickedCard = Math.floor(Math.random() * x.length);
//return pickedCard;
return 'notANumber';
}
else if (typeof x == "number") {
var pickedSuit = Math.floor(x / 13);
return { suit: suits[pickedSuit], card: x % 13 };
}
}
var myDeck = [{ suit: "diamonds", card: 2 }, { suit: "spades", card: 10 }, { suit: "hearts", card: 4 }];
var a: number = pickCard(myDeck);
alert(a);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment