型注釈を含まない変数宣言では変数の型は Any 型となります。
var result; // var result: any; と同等
しかし、変数が初期化される場合、変数の型は、値の型に推論されます。次の例では、変数 result の型は Number 型に推論されます。
var result = 10; // var result: number = 10; と同等
null や undefined で初期化した場合、変数の型は、Any 型に推論されます。
var result1 = null; // var result1: any = null; と同等 var result2 = undefined; // var result2: any = undefined; と同等
戻り値の型注釈を含まない関数宣言では、return による戻り値の型は Any 型となります。
function foo(x) { return x; } var result = foo(123); // var result: any = foo(123); と同等
しかしながら、戻り値の型が推論される場合があります。次の例では、引数の型注釈によって戻り値 x の型は Number 型に推論されます。
function foo(x: number) { return x; } var result = foo(123); // var result: number = foo(123); と同等
次の例では、戻り値が * 演算子によって結果が Number 型であることが保証されるため、 戻り値の型は Number 型に推論されます。
function foo(x) { return x * 2; } var result = foo(123); // var result: number = foo(123); と同等