As the constructed objects have an any type, the resulting containers are assignable to any type: var x: Map<string, number> = new Map(); That is useful to avoid having to specify types twice when declaration and assignment are in different places.