I am beginner in typescript. I have a doubt in usage of \"any\" type.
Using \"any\" is basically opting out type checking if I am right. For example
First of all - If we speak about Typescript, lets avoid the var key-word.
We may need to describe the type of variables that we do not know when we are writing an application. These values may come from dynamic content, e.g. from the user or a 3rd party library. In these cases, we want to opt-out of type-checking and let the values pass through compile-time checks. To do so, we label these with the any type:
Example to this:
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean
More: Types in Typescript
While the two are equivalent in use (because any
is the default type when unspecified) by explicitly specifying the type as any
, you explicitly declare the intent.
Intellisense, where available, will display the type as any
, allowing easier understanding how your variable is meant to be used.
Any: any type. Used when impossible to know the type. When you declare type as any, you can reassign any type of value in that variable.
var num:any = 12;
num = boolean;
num = "abcd"
any
opts out type checking as you have said. The second description you have came up with (without any
) will compile too. But it is not valid(*) when you use linting like tslint.
(*) By not valid, I meant the IDE you use will pop up an alert. But, to the bottom line; any valid Javascript code is also valid for Typescript on the grounds of compiling.