2020 年为什么要学 TypeScript?我用代码告诉你! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hfpp2012
V2EX    推广

2020 年为什么要学 TypeScript?我用代码告诉你!

  •  
  •   hfpp2012 2020-02-02 13:31:25 +08:00 7686 次点击
    这是一个创建于 2085 天前的主题,其中的信息可能已经有所发展或是发生改变。

    传送门:

    37 条回复    2020-02-04 12:18:15 +08:00
    Xiweini
        1
    Xiweini  
       2020-02-02 13:39:40 +08:00
    JS 里,把所有隐式转换的地方显式写出来就行了, TypeScript 没什么用
    hjdtl
        2
    hjdtl  
       2020-02-02 13:58:52 +08:00
    楼主,我记得有个 R 什么的教程网站也是你的吧?听声音挺像的
    Ultraman
        3
    Ultraman  
       2020-02-02 14:02:26 +08:00   1
    因为学它的人越多,教它的人就有越多机会?
    pythonee
        4
    pythonee  
       2020-02-02 14:07:13 +08:00
    ts 目前有哪些热门项目和应用?
    lovedebug
        5
    lovedebug  
       2020-02-02 15:55:28 +08:00
    什么时候成了 EMCAScript 标准再谈吧。
    youngxhui
        6
    youngxhui  
       2020-02-02 16:15:20 +08:00
    @pythonee Angular
    YuTengjing
        7
    YuTengjing  
       2020-02-02 16:30:47 +08:00
    禁止套娃
    beginor
        8
    beginor  
       2020-02-02 17:10:06 +08:00 via Android
    @pythonee 现在几乎所有流行的的 js 类库都提供了 tsd 定义, 前端三大框架都支持用 ts 开发, 还不够么?
    binaryify
        9
    binaryify  
       2020-02-02 17:22:07 +08:00
    ts 真的好用,真的不是只是加了类型而已,代码提示真的精准,不会担心会改出什么问题了,用第三方库也不需要看文档了,加个点有什么方法属性一目了然
    xulolololololo
        10
    xulolololololo  
       2020-02-02 17:54:34 +08:00 via Android
    先活下来再说
    hfpp2012
        11
    hfpp2012  
    OP
       2020-02-02 17:56:56 +08:00
    hfpp2012
        12
    hfpp2012  
    OP
       2020-02-02 17:57:38 +08:00
    @pythonee nest 和 angular 可以吗
    hfpp2012
        13
    hfpp2012  
    OP
       2020-02-02 17:59:20 +08:00
    @xulolololololo 这么悲观呀?
    qq544230987
        14
    qq544230987  
       2020-02-02 19:32:40 +08:00
    我是一个天生追求自由的人
    Sapp
        15
    Sapp  
       2020-02-02 19:36:31 +08:00
    @Xiweini 恰恰相反,我认为可以放弃 js 全面转像 ts, 就算你不考虑重构,也不写多复杂的代码,单单是类型提示参数提示和校验都可以节省很多时间,用别人写的函数和第三方库甚至可以文档都不看,直接看提示就完事了,用 js 你怎么知道一个函数的具体传入信息返回信息? 还不是要去翻源码,和编辑器直接给你提示相比效率低太多。当然你要是一直都是一个人写代码一个人看,也固定就用那几个库,那倒是无所谓,背都能背下来。
    ianva
        16
    ianva  
       2020-02-02 19:46:26 +08:00
    估计未来不会 TS 的话好工作应该是找不到的,代码质量提升太明显了
    hfpp2012
        17
    hfpp2012  
    OP
       2020-02-02 20:06:14 +08:00
    @qq544230987 类型限制不等于不自由呀,相反会让你更自由
    wi
        18
    wi  
       2020-02-02 21:08:50 +08:00
    看评论还是弱鸡太多,没意识到静态类型语言解决的问题。由他去。
    fanhed
        19
    fanhed  
       2020-02-02 21:13:23 +08:00
    喜欢动态的, 多数都是年轻人了
    多历练几年吧
    现在几大框架都在往 typescript 迁移了, 无需多言
    lxml
        20
    lxml  
       2020-02-02 21:16:20 +08:00 via Android
    当年 TC39 刚开始推 ESM 的时候很多人也觉得 TC39 是傻的,现成的 CommonJS 直接作为标准不就结了吗,后来才发现 ESM 的可静态分析的价值。

    尤雨溪评价 esm 和 commonjs 的,就如同 ts 和 js。

    大言不惭说一句,在目前很长一段时间内,浏览器 runtime 只能跑 js 的情况,认识不到 ts 带来收益的人,要么人菜要么项目菜。

    当然,长期还是看好 wasm,无奈进度实在是太慢了,慢的不正常。
    jishu541464750
        21
    jishu541464750  
       2020-02-02 21:54:23 +08:00
    2020 年了,我以为没有人不用 ts 了....看来还是自己的圈子呆久了。
    hfpp2012
        22
    hfpp2012  
    OP
       2020-02-02 23:12:41 +08:00
    @jishu541464750 还是有不少人觉得 ts 只是让编码更复杂
    yafoo
        23
    yafoo  
       2020-02-02 23:19:40 +08:00 via Android
    短时间内,还是要坚决抵制 ts
    暂时的认识是 js 和 ts,就相当于手动挡和自动挡
    anjianshi
        24
    anjianshi  
       2020-02-02 23:22:56 +08:00
    用严格的 TypeScript 写代码,因为有类型分析,能发现一些自己逻辑上的疏漏、排查出未照顾到的边界情况。显著减少 bug 几率。
    Evodrewburg
        25
    Evodrewburg  
       2020-02-02 23:34:12 +08:00 via iPhone
    写 ts 不就是写 java 吗
    puilu
        26
    puilu  
       2020-02-02 23:49:40 +08:00
    前端的东西不想折腾那么多了,前端在三四线城市已经很难找到合适的工作了。
    colatin
        27
    colatin  
       2020-02-03 00:34:41 +08:00
    给前端程序员安利这个简直吃力不讨好
    yuuko
        28
    yuuko  
       2020-02-03 00:49:42 +08:00 via Android
    真的是真香
    xcstream
        29
    xcstream  
       2020-02-03 00:59:29 +08:00
    jquery 一把梭能解决 95%的页面,比如这个帖子的页面
    BingoXuan
        30
    BingoXuan  
       2020-02-03 01:21:38 +08:00 via Android
    ts 是乐高,js 是橡皮泥,虽然都能造玩具车,但一眼见高下
    sillylang
        31
    sillylang  
       2020-02-03 01:56:34 +08:00
    @BingoXuan ts 能实现的 js 不能吗?
    BingoXuan
        32
    BingoXuan  
       2020-02-03 10:49:17 +08:00 via Android
    @sillylang
    ts 最终还是编译成 js,只是类型检查让 ts 如乐高一样,可塑性高又规整,不像 js 那般如橡皮一样灵活到写得严谨还要花额外的时间。

    以前我也觉得写需要类型检查的语言效率不高,后面写过 3-4w 代码的工程没类型重构起来你会疯掉。而且没有类型过了一两个月你会发现你忘记当初写的是啥。
    WinnieNumberTwo
        33
    WinnieNumberTwo  
       2020-02-03 10:59:28 +08:00
    就像学历过滤一样,以后用 ts 掌握得好不好来给前端分级,无论是对公司还是对具体的 team leader 都是成本更低的筛人标准。没必要吵架,我一个写后端的都会 ts 语法糖,程序员这一行不进则退。
    hfpp2012
        34
    hfpp2012  
    OP
       2020-02-03 12:34:55 +08:00
    一个东西被创造出来,肯定是有用的
    wysnylc
        35
    wysnylc  
       2020-02-03 13:23:01 +08:00   1
    @hfpp2012 #34 存在即合理,这是一句典型的被翻译给误导的名言。然后各种以误解误以讹传讹。黑格尔想表达的意思是:现实中存在的事物都有其存在的逻辑。把“合乎逻辑”翻译成“合理”也不是不可以,可问题是我们的语境里,合理还有另外一个更广泛的意思。于是意思就串了,无论是有意还是无意,都倾向于另外一个解释了。

    回归黑格尔的本意,会发现跟我们道家的观点是一回事:道生万物,万物皆有其道。但我们从来不会误会地把走歪门邪道称为合道。

    合乎现实存在的逻辑和一个东西有用是两回事,废物同样也有存在的"逻辑"
    sillylang
        36
    sillylang  
       2020-02-03 14:28:15 +08:00
    @BingoXuan 也就是说看规模了
    bigShrimp8577
        37
    bigShrimp8577  
       2020-02-04 12:18:15 +08:00
    @wysnylc 额,其实我没看懂你说啥,但感觉你有点较真,老实说我不知道这话出自谁口,我也没必要知道这话出自谁口,更没必要较真这话是不是与原话有出入,因为现实是黑格尔不是真理,他说的话也未必是真理。只有符合大众的符合主流的才是(伪)真理(或者说主流)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2842 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 07:28 PVG 15:28 LAX 00:28 JFK 03:28
    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