Haxe入門 / 型
2. Types 型
Haxeはコンパイル時に型関連のエラーを検出できる素晴らしい型システムを持っている。 Stringによる分割(Stringを引数にとる文字列分割?)や、Intergerのフィールドへのアクセス、あるいは引数の数が足りない(もしくは多い)関数呼び出しといったような、型の不一致は不正な操作である。
他の言語では、この型システムの恩恵を得るために冗長な書き方になることがある。変数の型宣言とコンストラクタ呼び出しの両方で型名を明示的に書かなければならなかったりする。
var myButton:MySpecialButton = new MySpecialButton(); // As3
(Haxe manualではC++も載ってたがC++にはすでにautoによる型推論があるので外した)
Haxeでは型宣言で明示的に型名を書く必要はない。コンパイラは型を推論できる。
var myButton = new MySpecialButton(); // Haxe
詳しくは型推論の項で触れる。上の例でmyButton
はMySpecialButton
クラスのインスタンスと推論されているとわかれば今は十分。
Haxeには次の7グループの型がある。