﻿// Ensure TypeScript compiler is load for VS versions
// below 2015.
// https://www.microsoft.com/en-us/download/details.aspx?id=48739
// Will need a TypeScript definition file for jQuery
// jquery.d.ts (see NuGet jQuery.TypeScript.DefinedType)
$(function ()
{
    var output: string = "";

    // Variables now have types
    // number
    // string
    // bool
    // array
    var someNumber: number;
    var someString: string = "fred";
    var someBool: boolean = true;
    var numArray: number[] = [1, 2, 3];
    var stringArray: string[];          // Note: you must create array before using it i.e. = []
    var someValue: any;                 // Accept any value
    var someObj: { x: number, y: number };  // Object literal with x and y numbers

    //someNumber = "22"; won't compile!!

    // Must create array e.g. stringArray = []; before using it!!
    stringArray = ["Apple", "Pear"];        // Create and initialise array here!!
    stringArray[2] = "Orange";
    
    // Prints ApplePearOrange
    for (var i in stringArray)
    {
        output = output + stringArray[i];
    }
    output += "<br/>";

    someValue = 2;
    someValue = "Fred";

    someObj = { x: 2, y: 3 };

    // Also have enums
    enum Fruit { Apple, Pear, Orange };     // Start with 0 but can change e.g. Apple=1 to start numbering from 1 
    var favFruit: Fruit = Fruit.Apple;

    document.body.innerHTML = output;
});  