typescript 的function也可以不写返回的数据类型是吗?

我看到Typescript有如下的一种写法:

export function clone(rect: RectangleLike | RectangleData) {
  if (Rectangle.isRectangle(rect)) {
    return rect.clone()
  }

  if (Array.isArray(rect)) {
    return new Rectangle(rect[0], rect[1], rect[2], rect[3])
  }

  return new Rectangle(rect.x, rect.y, rect.width, rect.height)
}

这里在定义function的时候,没有定义返回的数据类型。
是否如下的才是标准的形式?typescript也可以不写返回的数据类型是吗?

export function clone(rect: RectangleLike | RectangleData) : Rectangle {xxx}
阅读 1.4k
2 个回答

没有特殊要求可以不写返回值类型,建议写上返回值类型,这样能自动检查一些错误,避免在运行时出错。

typescript 是 JavaScript的超级,所以只要是js的写法都是可以的。

可以不写,不写的时候会进行类型自动推导,也就是你函数体里的return出来的类型的集合A|B|C,写返回类型的好处是避免return的类型与期望不一样,写了返回类型后,如果return的类型不符合定义会报错提示

推荐问题
logo
Microsoft
子站问答
访问
宣传栏