在Dart中,函數是對象,就像string和int一樣,typedef或為函數類型提供了在聲明字段和傳回類型時可以使用的名稱。當函數類型配置設定給變量時,typedef會保留類型資訊。
上面這種是普通的方法傳遞的代碼,就跟注釋上面的疑問一樣,都知道這個傳遞進來的f是一個方法,但是是什麼類型的方法呢?
這個時候typedef就派上用場了将f配置設定給比較時,類型資訊會丢失。f的類型是(Object,Object)→int(其中→表示傳回),但比較的類型是Function。
如果我們将代碼更改為使用顯式名稱并保留類型資訊,則開發人員和工具都可以使用該資訊。