现在还有必要学 typescript 吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
laravel
V2EX    TypeScript

现在还有必要学 typescript 吗?

  •  
  •   laravel 2019-08-29 11:51:43 +08:00 16593 次点击
    这是一个创建于 2239 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在小城市,怕学了用不到

    99 条回复    2021-01-31 13:15:07 +08:00
    Justin13
        1
    Justin13  
       2019-08-29 12:49:42 +08:00 via Android   1
    如果学东西只是为了用,那建议只学工作内容。
    Garwih
        2
    Garwih  
       2019-08-29 12:55:56 +08:00 via iPhone
    js 基础好的话,学会 ts 也是分分钟的事。
    多学一点总是好的。
    switch100
        3
    switch100  
       2019-08-29 12:58:01 +08:00 via iPhone   2
    ts 就是玩具,里外不是人
    Arrowing
        4
    Arrowing  
       2019-08-29 13:03:45 +08:00
    现在初学 ts,然后加上 webpack + vue 有点痛苦,坑太多了。
    love
        5
    love  
       2019-08-29 13:08:34 +08:00   6
    js 没 ts 加持就是玩具,里外不是人
    mufeng
        6
    mufeng  
       2019-08-29 13:09:50 +08:00 via iPhone
    @Arrowing vue ts 的支持太别扭了
    idealhs
        7
    idealhs  
       2019-08-29 13:17:36 +08:00
    又要开始了么?
    打起来
    sunjourney
        8
    sunjourney  
       2019-08-29 13:19:10 +08:00
    写 vue 就别折腾 ts 了
    q8164305
        9
    q8164305  
       2019-08-29 13:22:18 +08:00 via Android
    想学强类型,建议学 java 这种成熟的,ts 坑太多了,也没有 java 强大
    betulac
        10
    betulac  
       2019-08-29 13:47:58 +08:00   3
    有坑的部分用 js,没坑的用 ts,两种混着写,好用到爆
    drydiy
        11
    drydiy  
       2019-08-29 13:49:25 +08:00
    不是。。js 跟 ts 都能打起来?前端真娱乐圈。
    love
        12
    love  
       2019-08-29 13:50:16 +08:00 via Android
    @q8164305 ts 的类型比 Java 灵活多了。不知道你说的坑是指什么
    Phariel
        13
    Phariel  
       2019-08-29 13:50:37 +08:00
    TS 搞不定的 any 大法好 混合开发就是爽
    blindie
        14
    blindie  
       2019-08-29 13:50:42 +08:00
    c | c++, java, python, ruby, typescript, js, shell 等等都写过,ts 和 ruby 是我最喜欢的两个。高手写的 c++ 紧接其后。我写 react,ts 的开发效率和写起来的爽感比 js 高太多倍。
    cuzfinal
        15
    cuzfinal  
       2019-08-29 13:52:23 +08:00
    专职做前端的就学。
    laravel
        16
    laravel  
    OP
       2019-08-29 13:53:54 +08:00   1
    我是担心他的生命周期,会不会等我学完就没人用了
    plqws
        17
    plqws  
       2019-08-29 13:56:27 +08:00 via iPhone
    用 Vue 就别用 ts
    laravel
        18
    laravel  
    OP
       2019-08-29 13:56:58 +08:00
    @plqws
    crysislinux
        19
    crysislinux  
       2019-08-29 13:57:28 +08:00 via Android
    明明正是如日中天。。让你说的夕阳了一样。
    welkinzh
        20
    welkinzh  
       2019-08-29 13:58:30 +08:00
    套用一句话: 你死我都未死吖!
    ochatokori
        21
    ochatokori  
       2019-08-29 14:20:45 +08:00
    必须学,学了又不亏
    一个是如果你写过其他强类型语言的话学习成本真的不高
    第二个是的确会有坑的时候,比如昨天就有个帖子类型丢失,但总的来说更完善的代码提示会让你非常爽
    abcbuzhiming
        22
    abcbuzhiming  
       2019-08-29 14:30:34 +08:00
    @Phariel 用 any 的话就别用 ts 真的,ts 的最重要的东西被放弃了不如回去用 js
    nikandaoleshenme
        23
    nikandaoleshenme  
       2019-08-29 14:32:22 +08:00   1
    如果手写代码的速度比 IDE 的提示速度快,那就不学它了,太慢了
    boringdays2015
        24
    boringdays2015  
       2019-08-29 14:34:56 +08:00   1
    @q8164305 静态类型和强类型的区别了解一下谢谢
    wa143825
        25
    wa143825  
       2019-08-29 14:39:46 +08:00
    同在小城市,工作肯定用不上,而且坑太多学的难受,依然在啃,争取下半年完全转为 ts 开发
    Midnight
        26
    Midnight  
       2019-08-29 14:41:12 +08:00
    搞后端的看 ts 分分钟的事
    dartabe
        27
    dartabe  
       2019-08-29 14:43:31 +08:00
    大公司的 github 上的 react 项目好多都是 typescript
    sheaned
        28
    sheaned  
       2019-08-29 14:50:36 +08:00
    技多不压身
    Phariel
        29
    Phariel  
       2019-08-29 14:53:57 +08:00
    @abcbuzhiming #22 所以我不都说了 遇到 ts 搞不定的再用 any
    any 的部分后续有时间了再慢慢优化掉
    seki
        30
    seki  
       2019-08-29 14:56:37 +08:00
    等 vue 3.0 吧
    jinboker
        31
    jinboker  
       2019-08-29 14:59:39 +08:00
    @laravel。。。现在稍微大型一点的东西都在主动往 ts 上切换,你这还担心起 ts 要挂。。。而且 ts 这玩意你要是不搞泛型这些东西,不就是个 js 加个类型标记么,随便起个项目建个.ts 文件就可以开搞了,至于搞的跟要你投入多大的成本一样么
    userdhf
        32
    userdhf  
       2019-08-29 15:02:15 +08:00
    我想知道为什么要学 ts?
    你的项目一定要用 ts 吗?
    还是说一些习惯强类型语言的开发者不能够适应 js 的特征,才做出 ts 选择的?
    还是看到别人用你就用?
    框架、库永远都是二等公民。
    GenericClass
        33
    GenericClass  
       2019-08-29 15:05:39 +08:00
    写了一年 Vue+TS 了,有些人不要太矫情
    OnlyShimmer
        34
    OnlyShimmer  
       2019-08-29 15:37:43 +08:00
    可以学,毕竟艺多不压身
    GodvMiku
        35
    GodvMiku  
       2019-08-29 15:37:52 +08:00
    我寻思 TS 也不难啊 现在又这么火 ng 和 react 都是完美支持 为啥不学呢
    RV0n
        36
    RV0n  
       2019-08-29 15:45:29 +08:00
    为什么没必要呢 学就是了
    w3313003
        37
    w3313003  
       2019-08-29 15:49:02 +08:00
    TS 学习成本很低啊 一开始不熟练的话直接当 anyscript 用啊
    youxiachai
        38
    youxiachai  
       2019-08-29 15:50:18 +08:00   1
    在熟悉 js 的情况下..学一下 ts 能费多少时间?
    miniwade514
        39
    miniwade514  
       2019-08-29 16:03:40 +08:00   1
    在公司用了大半年的 TS,现在自己写点小玩意儿,用纯 JS 都没安全感。
    不说别的,用 TS 会直接逼着你提升代码质量,如果是打算持续维护的项目,建议早点上 TS。
    建议:(个人项目 && 月抛型项目 && 真的很赶时间) => 不用 TS ;其他项目都推荐用 TS。
    miniwade514
        40
    miniwade514  
       2019-08-29 16:04:27 +08:00
    @miniwade514 #39 注意我用的是 &&,需同时满足
    miniwade514
        41
    miniwade514  
       2019-08-29 16:08:42 +08:00
    不想学的人,你跟他讲 1000 个好处他也不会学的 : )
    用过了才能体会到优缺点,才能做出合理判断
    qshu
        42
    qshu  
       2019-08-29 16:19:06 +08:00   1
    vue 3.0 出来后 Vue 就对 ts 有用了
    Caballarii
        43
    Caballarii  
       2019-08-29 16:24:39 +08:00
    @qshu ag2 上 ts 以后就僵住了,vue3 真的推得动吗 23333
    darmau
        44
    darmau  
       2019-08-29 16:25:42 +08:00 via iPhone
    @laravel 那你学的也太慢了
    VDimos
        45
    VDimos  
       2019-08-29 16:28:18 +08:00 via Android
    vue 加 ts 不好搞,react 加 ts 爽飞。vue3 不也打算用 ts 写了吗
    hyyou2010
        46
    hyyou2010  
       2019-08-29 16:28:47 +08:00   3
    ts 的学习分 2 步,一是 ts 本身的语法规则,二是应用,比如应用到 react 上。都挺有学习成本的。确能帮忙查错,不过小型前端项目不一定必要。

    TypeScript Handbook (中文版)
    https://legacy.gitbook.com/book/zhongsp/typescript-handbook

    TypeScript Deep Dive
    https://basarat.gitbooks.io/typescript/content/
    中文版
    https://jkchao.github.io/typescript-book-chinese/

    转换 js 到 ts [实际上转换过程挺嗦的,远不是写得这么简单]
    https://github.com/microsoft/TypeScript-React-Conversion-Guide
    https://www.typescriptlang.org/docs/handbook/migrating-from-Javascript.html

    应用到 react+redux 项目 react+redux+typescript guide
    https://github.com/piotrwitek/react-redux-typescript-guide
    nigelvon
        47
    nigelvon  
       2019-08-29 16:31:26 +08:00
    做前端的这个避不开的,是趋势。
    zjsxwc
        48
    zjsxwc  
       2019-08-29 16:32:13 +08:00
    学,ts 又不难,半天就会了,精髓是依赖注入,会 java、php 的看看很快就懂了,没什么新东西的
    ahsjs
        49
    ahsjs  
       2019-08-29 16:42:12 +08:00
    简单用用很简单,了解怎么编译成 js 的还是挺复杂的。
    yaozeyuan93
        50
    yaozeyuan93  
       2019-08-29 16:44:47 +08:00
    你可以认为 ts 是一种特殊的注释写法

    学学怎么写注释, 这个不难吧←_←
    gouflv
        51
    gouflv  
       2019-08-29 16:45:47 +08:00 via iPhone
    你有发帖的时间都学完了
    ZZITE
        52
    ZZITE  
       2019-08-29 17:02:03 +08:00
    学,我连 Dart 都学,ts 有啥理由不学。
    colatin
        53
    colatin  
       2019-08-29 17:21:16 +08:00
    不会后端的前端不是好前端,不会前端的后端不是好后端
    ianva
        54
    ianva  
       2019-08-29 17:32:07 +08:00
    现在大部分用 typescript 的其实并不真的会用 typescript,typescript 其实是两种语言,一个是 js 的超集,会 js 的都会,另一个是 type 这是一个纯函数式的语言,而且 typescript 的文档里对这方面的介绍还很少,多数都在版本更新的 feature 文档上,比如泛型里 extends,infer 这些的应用。
    所以大部分说会写的也只是当 js 用而已。
    ianva
        55
    ianva  
       2019-08-29 17:34:40 +08:00
    目测上面挺多都是当 js 写的,偶尔也就加个类型注释
    ianva
        56
    ianva  
       2019-08-29 17:35:30 +08:00   3
    liushuangbill
        57
    liushuangbill  
       2019-08-29 17:37:52 +08:00
    学,下一个
    pink123
        58
    pink123  
       2019-08-29 17:41:11 +08:00
    根据自己的需求去学,如果一个技能一百万掌握了没有必要学,如果一个技能只有 1 万人掌握的话那就去学,只有没有错的
    pink123
        59
    pink123  
       2019-08-29 17:41:31 +08:00
    大家都在学 go 的时候我果断放弃了
    lizz666
        60
    lizz666  
       2019-08-29 17:45:00 +08:00
    抄抄 antd 源码就行了
    horizon
        61
    horizon  
       2019-08-29 18:09:59 +08:00
    @ianva 说的对,type 我是有点晕
    sujin190
        62
    sujin190  
       2019-08-29 18:26:08 +08:00
    有句话叫技多不压身,担心用不到太多余,应该担心学不会或者时间精力不够那还差不多
    Sapp
        63
    Sapp  
       2019-08-29 18:26:45 +08:00
    用了 ts 你就不想再用 js 了,不过 ts 和 vue 不搭是真的
    hoosin
        64
    hoosin  
       2019-08-29 18:33:20 +08:00
    用啊 用了 typescript 前后端就不需要扯皮了。
    AV1
        65
    AV1  
       2019-08-29 18:39:49 +08:00 via iPhone
    熟练 JS 的去学 TS,不会有多少负担
    MzM2ODkx
        66
    MzM2ODkx  
       2019-08-29 19:01:10 +08:00
    是个大趋势,就算你写业务代码用不到,但是现在很多库也是用 ts 写的,不学怕看不懂。
    vipcc
        67
    vipcc  
       2019-08-29 19:06:53 +08:00 via Android
    用不到,重点,圈起来
    yujieyu7
        68
    yujieyu7  
       2019-08-29 19:06:56 +08:00
    typescript 学习成本这么低,而且好处也是显而易见的,干嘛不学呢
    charlie21
        69
    charlie21  
       2019-08-29 23:16:40 +08:00
    没有了
    typescript 救不了 js, 生态问题
    ironMan1995
        70
    ironMan1995  
       2019-08-29 23:55:00 +08:00 via Android
    楼上那些说特别简单的????我看官网跟着写了一遍,确实不难,然后看 ant design pro 的 ts 版一脸懵逼,这种程度的才叫做会用 ts 吧。
    liuy1994g
        71
    liuy1994g  
       2019-08-30 00:18:55 +08:00 via Android   1
    然而 vue3 用 ts 写了啊
    default7
        72
    default7  
       2019-08-30 01:52:39 +08:00
    现在 Javascript 跟以前真的完全不一样了,写法。每次看到都总是在想,浏览器支持吗?#IE 阴影后遗症
    fuermosi777
        73
    fuermosi777  
       2019-08-30 07:06:15 +08:00
    我在面试前端的时候一般第一个问题是你用过 typescript 吗,如果用过的话有什么优点缺点,然后我会把对方的回答详细写在 feedback 上,并且在 front end 专项评价提到这个。
    murmur
        74
    murmur  
       2019-08-30 07:54:20 +08:00
    @ironMan1995 那是因为你用的 ts 有封装的成分再,如果 ts 就是语法的强类型那还好,ts 会用解释器把一些框架的字段都转成注解,这当然看着费解
    wb500
        75
    wb500  
       2019-08-30 08:48:48 +08:00   1
    用了 ts 的感受就 2 个字:真香
    littleshy
        76
    littleshy  
       2019-08-30 09:01:49 +08:00   1
    都没人提 Angular 了,写了两年 Angular,用 ts 爽歪歪呀。
    no1xsyzy
        77
    no1xsyzy  
       2019-08-30 09:07:33 +08:00
    @Arrowing 用 TS,就是写 jquery 都不要写 vue
    TimPeake
        78
    TimPeake  
       2019-08-30 09:21:55 +08:00
    Angular 招不到人 ,多少公司敢用
    ddup
        79
    ddup  
       2019-08-30 09:22:14 +08:00 via Android
    好用到爆啊
    lrh3321
        80
    lrh3321  
       2019-08-30 09:28:54 +08:00
    写大前端、后端的强烈推荐。纯前端就自己看兴趣
    robinlovemaggie
        81
    robinlovemaggie  
       2019-08-30 10:13:31 +08:00
    随着 ES 和 TS 的版本迭代,难免会面对的局面就是:到底谁来兼容谁?
    vanishcode
        82
    vanishcode  
       2019-08-30 10:14:10 +08:00
    /div>
    上个月我还觉得这东西有点多余,现在,嘻嘻,真香
    robinlovemaggie
        83
    robinlovemaggie  
       2019-08-30 10:21:25 +08:00
    robinlovemaggie
        84
    robinlovemaggie  
       2019-08-30 10:22:26 +08:00
    #83 推上图,Javascript without Types in 1999
    xuejianxianzun
        85
    xuejianxianzun  
       2019-08-30 11:27:42 +08:00
    ts 没那么难,学习一下花不了多少时间,不用太担心
    在一开始实际使用的时候肯定会遇到问题,xxx 未声明,xxx 在 yyy 上不存在之类的,踩过这些坑也就好了
    kingwl
        86
    kingwl  
       2019-08-30 11:35:02 +08:00
    nnnToTnnn
        87
    nnnToTnnn  
       2019-08-30 11:39:44 +08:00
    JS 我很熟悉,Java 也很熟悉,至于 TS or JS 完全取决与团队的接受水平,不过最近我在往 TS 方向推,因为毕竟有些人的 JS 写起来真的不敢恭维
    ChefIsAwesome
        88
    ChefIsAwesome  
       2019-08-30 12:04:06 +08:00 via Android
    jaskle
        89
    jaskle  
       2019-08-30 12:19:55 +08:00 via Android
    如果浏览器或者 nodejs 能直接执行就方便多了,现在调试起来很费劲
    frantic
        90
    frantic  
       2019-08-30 13:51:36 +08:00
    之前看到个帖子说 Vue 是玩具,现在 TS 也被打为玩具,是不是前端都是玩具?
    chenxz
        91
    chenxz  
       2019-08-30 13:56:25 +08:00
    @q8164305 单说语言本身的话 ts 怎么就比 java 弱了?
    jrtzxh020
        92
    jrtzxh020  
       2019-08-30 14:06:07 +08:00 via iPhone
    @ironMan1995 和我一样 ,看 umi 看得我一脸懵逼
    leisunlove
        93
    leisunlove  
       2019-08-30 14:17:23 +08:00
    有时间先把前后端打通,扯皮都不怕
    hantsy
        94
    hantsy  
       2019-08-30 14:51:30 +08:00
    用了 ES6,TS 后,我真的不记得 JS ( ES5 )怎么写了。
    laravel
        95
    laravel  
    OP
       2019-08-30 16:19:09 +08:00
    @ZZITE 我也在搞 flutter
    qshu
        96
    qshu  
       2019-08-31 09:46:18 +08:00
    @Caballarii 也可以不用 ts,不是强制性的,但支持了一般就用,很适合合作开发,不写类型也可以,会自动类型推导的
    yiyi11
        97
    yiyi11  
       2019-08-31 10:50:35 +08:00 via Android
    跟大厂走,比如 antd pro4.0 默认实现就是 ts,官方文档也是首推 ts。这是趋势。
    yiyi11
        98
    yiyi11  
       2019-08-31 10:57:24 +08:00 via Android
    @laravel 除非 js 本身提供静态类型检查(但是不太可能),那使用 ts 的必要性就很低了。
    rophie123
        99
    rophie123  
       2021-01-31 13:15:07 +08:00
    vue+js,node+ts
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5050 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 05:43 PVG 13:43 LAX 22:43 JFK 01:43
    Do have faith in what you're doing.
    ubao 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