打字稿中函数的类型缩小返回类型

时间:2020-02-16 16:44:49

标签: typescript

我有这个playground,这里是代码

type Point = { x: number; y: number } | [number, number];

const a = (x: number, y: number): Point => {
  return { x, y }
}

const b = a(1, 2);

console.log(b.x);  // any
 //Property 'x' does not exist on type 'Point'.
 //  Property 'x' does not exist on type '[number, number]'.

有什么方法可以避免保护函数在返回类型上键入窄,以便它只知道它是一个对象而不是[number,number]的元组吗?

该类型超出了transformation matrix的控制范围

0 个答案:

没有答案