Typescript 越来越流行吗?我觉得它带来的收益还是小于成本,对于已经存在的项目,没有必要使用 TS - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
henryhu
V2EX    Node.js

Typescript 越来越流行吗?我觉得它带来的收益还是小于成本,对于已经存在的项目,没有必要使用 TS

  •  
  •   henryhu 2021-02-04 11:38:19 +08:00 2878 次点击
    这是一个创建于 1717 天前的主题,其中的信息可能已经有所发展或是发生改变。
    11 条回复    2021-09-06 12:00:14 +08:00
    zy445566
        1
    zy445566  
       2021-02-04 16:38:36 +08:00
    个人使用是这样,但是团队或库用 ts 肯定更好,这样别人使用你的方法的时候一看编辑器的提示就知道该传什么参数,类型是什么。减少一些沟通成本。
    henryhu
        2
    henryhu  
    OP
       2021-02-04 17:15:11 +08:00
    对于写代码的人比较友好,能提高效率,但是转换成本高,包括第三方库的问题、调试的问题,隐形成本不低。可能多数项目并值得上 ts
    rbe
        3
    rbe  
       2021-02-05 14:12:40 +08:00
    @henryhu #2 恰恰相反,对写代码的人来说是一种负担,因为要额外写很多类型声明,因此有很多人直接把他玩儿成了 anyscript. 反而对于看代码 /维护代码的人来说是极其友好的,如果要维护别人的 js 代码, 一个函数原型写着 getFoo(data) {},你连他的入参出参都把握不了,假如这人还离职了那更是一团没有人敢维护的 shit code 。用上 ts 在很大程度上能解决这个问题,比如前段时间使用 aws 的 jsSDK,都不用太翻来覆去找他的文档就能知道各个方法大概是干啥的。
    zhangxh1023
        4
    zhangxh1023  
       2021-02-05 17:12:50 +08:00
    在公司项目中(由于只有我一个人, 所以我说了算)用了一次 ts, 说实话, 有点后悔. 主要是项目没那么复杂, 最后写起来四不像. 可能是自己的水平有限, 自己也懒得优化, 又不是不能用.....
    但是自己用 ts 写的小项目感觉很香
    henryhu
        5
    henryhu  
    OP
       2021-02-05 18:28:05 +08:00
    @rbe 对读代码的人友好,也是对写代码的人友好,经常读、写都是同一人,就算自己写的代码自己改的时候也是经常来回查看。
    henryhu
        6
    henryhu  
    OP
       2021-02-05 18:29:44 +08:00
    看过一篇文章,说是小的项目可以上 ts,对于复杂项目反而不推荐,这个结论有点出乎意料啊
    zqjnew
        7
    zqjnew  
       2021-02-08 20:46:05 +08:00 via Android
    可以的的,我也正在学
    zqjnew
        8
    zqjnew  
       2021-02-08 20:47:12 +08:00 via Android
    可以的,我也正在学
    realkenshinji
        9
    realkenshinji  
       2021-02-15 17:59:48 +08:00
    前阵子在德国这边面试,面的 node.js 的职位,基本都要求 TS 了,这个貌似是大趋势
    windmemory
        10
    windmemory  
       2021-05-12 13:45:16 +08:00
    Typescript 其实是给了 Javascript 一个很好的静态约束,我们公司所有的项目都是用了 Typescript 的。
    我觉得无论是大项目还是小项目,都应该上 Typescript,好处有 3
    1. VSCode 支持 Typescript 的类型推断,如果你定义好了类型,那么在任意的文件里面你都能看到当前的值是什么样的,不需要一点点找变量声明的地方
    2. 减少低级错误,如果是 Javascript,如果一个 Object 里面某个值的 key 里面有 typo,那么 Javascript 一般是不会报错的,但是如果用了 Typescript,就会在运行前直接报错出来
    3. 对于长时间维护的项目,减少对于旧代码的回忆成本
    fernandoxu
        11
    fernandoxu  
       2021-09-06 12:00:14 +08:00
    可以先 //ts-check + jsdoc 先用上 ts 的检查
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2529 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 11:01 PVG 19:01 LAX 04:01 JFK 07:01
    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