关于 TypeScript 类型推断的疑问🤔️

2019-11-28 14:10:47 +08:00
 auroraccc

ts 初学者

function add(a: number, b: number) { return a + b; }

像这样的函数,由于有类型推断可以知道函数的返回值类型,还需要手动地声明函数的返回类型吗

感谢回答🙏

3544 次点击
所在节点    JavaScript
14 条回复
dreamerlv3ex
2019-11-28 14:14:10 +08:00
也许你需要看官方文档
hereIsChen
2019-11-28 16:21:06 +08:00
返回值类型可以不声明
maichael
2019-11-28 16:23:05 +08:00
不需要。
seki
2019-11-28 16:23:13 +08:00
可以不声明
但是如果你的代码变得复杂的时候,声明返回类型有助于帮助你发现不一致的返回值
love
2019-11-28 17:00:52 +08:00
大牛们的开源代码基本是加的
因为读代码时间比写多,而返回类型是接口的组成部分,没写的话还要脑子里运行一下里面的代码才知道返回类型
当然函数体里的基本都不加的,那个是没必要
hyyou2010
2019-11-28 17:21:21 +08:00
如果你添加返回值类型,比如 number,那么下次你改写程序并返回 string 就会报错,这不就见到效果了?
cuzfinal
2019-11-28 18:44:01 +08:00
不需要
gzf6
2019-11-28 19:15:33 +08:00
加吧,代替部分注释了
wi
2019-11-28 20:23:52 +08:00
坚决不要,推导出来才是真实的,后面方法改动也是方便,除非你的返回值要做 as 处理,也不推荐只返回实际值的一个接口,要返回就返回真实的值。
sneezry
2019-11-28 23:12:21 +08:00
推荐加,保持代码的可维护性。
uxstone
2019-11-28 23:33:23 +08:00
业务代码基本靠推导解决, 而一些复杂的公用组件会写返回类型
wunonglin
2019-11-28 23:35:54 +08:00
标注返回类型是为了写 function 的时候避免 return 的东西和标注的不一致。
hst001
2019-11-28 23:45:40 +08:00
长函数,多人维护,历史一悠久都不知道会返回个什么东西,建议通通加上返回类型
wi
2019-11-29 20:47:13 +08:00
可能有些人不明白,就算你不手动写返回类型,这个函数也是有返回类型的,不是说写了才有返回类型

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/623950

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX