Qual é a diferença entre usar dois pontos e como sintaxe para declarar o tip

Qual é a diferença entre o: sintaxe para declarar o tipo

let serverMessage: UServerMessage = message;

e aas sintaxe

let serverMessage = message as UServerMessage;

Eles parecem produzir o mesmo resultado neste exemplo pelo menos