Estados de especificação do Dart:
As informações de tipo reificado refletem os tipos de objetos em tempo de execução e podem sempre ser consultadas por construções dinâmicas de verificação de tipos (os análogos de instanceOf, casts, typecase etc. em outras linguagens).
Parece ótimo, mas não há um instanceofoperador semelhante. Então, como executamos a verificação de tipo em tempo de execução no Dart? É possível de alguma forma?
isoperador na especificação. É melhor consultar o arquivo de gramática nas fontes do DART