关于 TypeScript 类型推断的疑问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
auroraccc

关于 TypeScript 类型推断的疑问

  •  
  •   auroraccc Nov 28, 2019 4295 views
    This topic created in 2350 days ago, the information mentioned may be changed or developed.

    ts 初学者

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

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

    感谢回答

    14 replies    2019-11-29 20:47:13 +08:00
    dreamerlv3ex
        1
    dreamerlv3ex  
       Nov 28, 2019
    也许你需要看官方文档
    hereIsChen
        2
    hereIsChen  
       Nov 28, 2019   1
    返回值类型可以不声明
    maichael
        3
    maichael  
       Nov 28, 2019   1
    不需要。
    seki
        4
    seki  
       Nov 28, 2019   1
    可以不声明
    但是如果你的代码变得复杂的时候,声明返回类型有助于帮助你发现不一致的返回值
    love
        5
    love  
       Nov 28, 2019   1
    大牛们的开源代码基本是加的
    因为读代码时间比写多,而返回类型是接口的组成部分,没写的话还要脑子里运行一下里面的代码才知道返回类型
    当然函数体里的基本都不加的,那个是没必要
    hyyou2010
        6
    hyyou2010  
       Nov 28, 2019   1
    如果你添加返回值类型,比如 number,那么下次你改写程序并返回 string 就会报错,这不就见到效果了?
    cuzfinal
        7
    cuzfinal  
       Nov 28, 2019   1
    不需要
    gzf6
        8
    gzf6  
       Nov 28, 2019 via iPhone   1
    加吧,代替部分注释了
    wi
        9
    wi  
       Nov 28, 2019   1
    坚决不要,推导出来才是真实的,后面方法改动也是方便,除非你的返回值要做 as 处理,也不推荐只返回实际值的一个接口,要返回就返回真实的值。
    sneezry
        10
    sneezry  
       Nov 28, 2019 via iPhone   1
    推荐加,保持代码的可维护性。
    uxstone
        11
    uxstone  
       Nov 28, 2019   1
    业务代码基本靠推导解决, 而一些复杂的公用组件会写返回类型
    shakaraka
        12
    shakaraka  
    PRO
       Nov 28, 2019   1
    标注返回类型是为了写 function 的时候避免 return 的东西和标注的不一致。
    hst001
        13
    hst001  
       Nov 28, 2019   2
    长函数,多人维护,历史一悠久都不知道会返回个什么东西,建议通通加上返回类型
    wi
        14
    wi      Nov 29, 2019   1
    可能有些人不明白,就算你不手动写返回类型,这个函数也是有返回类型的,不是说写了才有返回类型
    About     Help     Advertise     Blog     API     FAQ     Solana     2921 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 119ms UTC 06:32 PVG 14:32 LAX 23:32 JFK 02:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86