代码之家  ›  专栏  ›  技术社区  ›  Daniel Kucal

类[数字,数字]的初始值

  •  3
  • Daniel Kucal  · 技术社区  · 8 年前

    我有一个字段类型是 [number, number] 以及typescript编译器的问题( strict 设置为 true )抱怨初始值。我试过以下方法:

    1. public sheet: [number, number]; -投掷 error TS2564: Property 'sheet' has no initializer and is not definitely assigned in the constructor.
    2. public sheet: [number, number] = []; -投掷 error TS2322: Type 'never[]' is not assignable to type '[number, number]'.
    3. public sheet: [number, number] = [] as [number, number]; 同上

    我知道我可以创造一个小怪物 public sheet: [number, number] = [] as any as [number, number]; (或分配,例如 [0, 0] 我不想做的事)但是我想知道有没有更好的办法。你有什么想法吗?

    1 回复  |  直到 8 年前
        1
  •  3
  •   WayneC    8 年前

    此错误来自编译器选项 strictPropertyInitialization 哪个严格模式启用。

    您可以使用 definite assignment assertion modifier ! 告诉typscript它在别处的缩写:

    public sheet!: [number, number];

    推荐文章