Анонимным является тип объекта объявленного без присвоения имени. Это также тип определения класса (связанный со всеми статическими полями) или определения enum (перечисляющий все конструкторы).
Вот пример, показывающий это:
enum State {
on;
off;
disable;
}
class C {
static var x : Int;
static var y : String;
function f() {
// print { id : Int, city : String }
type({ id : 125, city : "Kyoto" });
}
function g() {
// print { on : State, off : State, disable : State }
type(State);
}
function h() {
// print { x : Int, y : String }
type(C);
}
}
</div>
Анонимные типы в haXe являются структурными, так что в их значении может содержаться больше полей, чем в типе:
var p : { x : Int, y : Int } = { x : 0, y : 33, z : -45 };
</div>