Typescript variable types

Author: Dawid Adach

Type: any

You could ask — what if I don't know what kind of value my variable will have?

  1. Let's flush our function code and type ine the following:
  2.   let myVar;
      myVar = 1;      //number
      myVar = true;   //boolean
      myVar = 'mdb';  //string

    The TypeScript compiler doesn't complain. Why!?

  3. Hover over the myVar declaration, what do you see?
  4. Any type

    TypeScript allows you to use a special type any. It allows you to use dynamic typing but importantly — it requires you to use it consciously.

  5. What is actually type of the variable myVar? Let's check it:
  6.   myVar = 1;     //number
      myVar = true;  //boolean
      myVar = 'mdb'; //string

    The output:

    Dynamic type
  7. Now let's add an explicit type, cast after the var declaration:
  8.   let myVar: number;

    Immediately, the compiler will show two errors regarding the second, and third assignments


Other types:

We used already four different types of variables (number, string, boolean and any). Are there any others? Yes, there are.

  let a: number;                    //numeric type
  let b: string;                    //string
  let c: boolean;                   //true or false
  let d: any;                       //any (dynamic)
  let e: number[] = [1,2,3];        //array of numbers
  let f: string[] = ['a','b','c'];  //array of strings
  let g: any[] = [true, 1, 'a'];    //array of any

As you can see, except for basic types which we already covered you can also create arrays of different types including the any type. There is also one more type of variable — enum but we will cover it in the future.

Previous lesson Next lesson

Spread the word:
Do you need help? Use our support forum

About the author

Dawid Adach
For more than 5 years Dawid worked as an IT Consultant specializing in SOA/EAI/ESB in the banking domain. He gained experience working in countries like Netherlands, Belgium, Poland and India developing enterprise-class systems for the most prestigious companies. Since co-founding mdbootstrap.com & brandflow.net in 2016 he has been using and teaching technologies such as Angular, TypeScript, PHP, AJAX, Mongo, SQL, Hadoop Stack, Virtualization, Automation and many others...