JIT e AOT podem existir em uma mesma linguagem compilada, não tem nada a ver com a linguagem ser interpretada ou compilada, como o autor do post deixa a entender.

Exemplo simples: Dart tem ambos os tipos de compilação, sendo o JIT para durante o desenvolvimento, em que só é recompilado o que foi mudado desde a última compilação, facilitando a visualização das alterações do código; e AOT para a build de produção, pois consegue otimizar mais coisas que só são possíveis tendo conhecimento do código completo, mas toma mais tempo para compilar.

É verdade.

Pelo que vi JIT e AOT são apenas tipos de compilação, mas podem existir diferentes opções de compilação para uma mesma linguagem. Ao que parece, o que acontece é que em algumas linguagens que normalmente "cospem" bytecode de forma direta (Sem VM como o Java, por exemplo), é mais fácil implementar o AOT.

Vou alterar o post. Obrigado pela correção!

Por falar em Dart (Google) sua proposta desde 2011 era desbancar o JavaScript. Me vem o pensamento, será que de alguma forma Dart irá conseguir seu objetivo já que até agora nada? Acredito que no momento quem está mais para sucessor do JavaScript é o TypeScript (Microsoft).

Acredito que não. Depois de um certo tempo sem muito sucesso nessa empreitada, o Flutter foi lançado utilizando ele e acredito que esse é o foco principal do Dart atualmente mesmo, ir evoluindo junto do framework (que é muito bom) e com foco nele.