ES6 地图类型别名不起作用

ES6 Map type alias doesn't work

我需要为多个字段收集一些错误,因此结构大体如下:

{
  name: { 
    errors: ['error one', 'error two']
  },
  age: {
    errors: ['error three', 'error four']
  }
}

我想做的是用 Typescript 打字,所以我做了以下事情:

interface FieldErrors {
  errors: string[]
}

type ErrorsBag = Map<string, FieldErrors>;

可悲的是,每当我使用 new ErrorsBag() 时,编译器都会给我 error TS2304: Cannot find name 'ErrorsBag' 而它的定义就在上面。当我在没有类型别名(只是 new Map<string, FieldErrors>())的情况下使用它时,它工作正常。

任何提示为什么会发生这种情况?

whenever I use new ErrorsBag()

type 不会创建 变量 它只会为类型系统创建类型以用于 类型注释目的 some docs