Type inference is the opposite of explicitly declaring the type of a variable. When using type inference, you simply omit the part telling the type of your variable and let the compiler guess it.
There are several ways for the compiler to guess the type of your variables. Let's see some of them!
When you assign a value to a variable that still has an unknown type, its type will be inferred as being the one of the assigned value, so for example, if you write:
var s; s = "Hello World";
The type of s
will be inferred to String
.
In addition, if you assign the value of a variable that still has an unknown type to a variable that is of a known type, the type will also be inferred:
var s; var t : String; t = s;
Here, the type of s
is inferred to String
.
When you pass a variable to a function, its type is inferred as being the one expected by the function. For example, consider the following code:
class Main { static function print(s : String) { trace(s); } public static function main() { var t; print(t); type(t); } }
In this example, t
is inferred as being of type String
. Note that the type
function will print a warning indicating the type of the t
variable while compiling.
3.143.5.15