Как было подробно описано в этом ответе (голосуйте выше, чем у меня!), Объект с набранным ключом и значением (иногда называемый hashmap) обычно использовался в Typescript до того, как он имел поддержку Map:
const m : {[index: string]: MyObject} = {};
Проблема с этим подходом состоит в том, что ключи могут быть только типа строки или числа, и на самом деле не имеет значения, что вы используете в качестве типа ключа, так как числа / строки по-прежнему принимаются взаимозаменяемо (применяется только значение).
Typescript теперь имеет встроенную поддержку типа карты ES6, что не имеет каких-либо недостатков в отношении ключа, упомянутого выше.Что касается преимуществ хэш-карты по сравнению с картой, я не вижу ничего.