Typedefs

typedef 키워드로 선언되기 때문에 typedef 로도 불리우는 타입 앨리어스는 타입을 참조하는 간편한 수단입니다. 다음은 IntList라는 타입 앨리어스를 선언하고 사용하는 예제입니다:

typedef IntList = List<int>;
IntList il = [1, 2, 3];

타입 앨리어스는 타입 매개변수를 가집니다:

typedef ListMapper<X> = Map<X, List<X>>;
Map<String, List<String>> m1 = {}; // 타입 선언이 장황합니다.
ListMapper<String> m2 = {}; // 위와 같지만 더 깔끔하고 짧습니다.

대부분의 상황에서 함수에는 typedefs 대신 인라인 함수 타입의 사용을 추천합니다. 하지만, 함수의 typedefs는 여전히 유용합니다:

typedef Compare<T> = int Function(T a, T b);

int sort(int a, int b) => a - b;

void main() {
  assert(sort is Compare<int>); // True!
}