Język Haxe jest zbliżony do ECMAScript, aczkolwiek prawie żadna aplikacja napisana w ECMAScript nie będzie działała w Haxe bez modyfikacji. W przeciwieństwie do ECMAScript, Haxe jest językiem kompilowanym. Haxe to zorientowany obiektowo język ogólnego przeznaczenia, obsługujący wyjątki, inferencję typów oraz klasy parametryzowane. Na funkcjonalność Haxe oraz jego bibliotek składają się m.in. typy generyczne, mechanizm refleksji, iteratory oraz programowanie funkcjonalne . Język ten obsługuje silne i dynamiczne typowanie, co jest dość niespotykane wśród języków programowania. Kompilator automatycznie sprawdza typy i zwraca błędy w czasie kompilacji, ale także umożliwia programiście wyłączenie sprawdzania typów w Haxe i poleganie na systemie typów platformy docelowej.

Parametry funkcji w języku Haxe mogą być definiowane bardzo precyzyjnie: