V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
laravel
V2EX  ›  TypeScript

现在还有必要学 typescript 吗?

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

    在小城市,怕学了用不到

    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 选择的?
    还是看到别人用你就用?
    框架、库永远都是二等公民。
    chouchoui
        33
    chouchoui  
       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 前后端就不需要扯皮了。
    DOLLOR
        65
    DOLLOR  
       2019-08-29 18:39:49 +08:00 via iPhone
    熟练 JS 的去学 TS,不会有多少负担
    iMusic
        66
    iMusic  
       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 会用解释器把一些框架的字段都转成注解,这当然看着费解
    ismumu
        75
    ismumu  
       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
    上个月我还觉得这东西有点多余,现在,嘻嘻,真香
    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   ·   实用小工具   ·   5608 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 01:38 · PVG 09:38 · LAX 17:38 · JFK 20:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.