防止TypeScript与可能类型列表中的错误值进行比较

时间:2019-06-18 15:48:42

标签: typescript types interface

我正在创建一些与模块接口的代码,并且具有几种类型,这些类型比模块所允许的更具体,但是仍然与模块指定的类型完全兼容。

但是,尽管有兼容性,但还是出现此错误:

  Types of property 'data' are incompatible.
    Type 'IDataPoint[]' is not assignable to type 'number[] | { x: any; y: any; }[] | [number, number][] | [number, number[]][]'.
      Type 'IDataPoint[]' is not assignable to type 'number[]'.
        Type 'IDataPoint' is not assignable to type 'number'.
          Type '[number, number]' is not assignable to type 'number'.ts(2322)

这里值得注意的是,即使Type '[number, number]' is not assignable to type 'number'在原始允许类型列表中,最后一行还是显示“ [number, number]”。为什么只将它与第一个选项进行比较并放弃呢?在没有将值强制转换为正确的类型的情况下,有什么方法可以使它起作用?

0 个答案:

没有答案