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

vue3.0 有多少人会上 ts,还是继续用 js

  •  
  •   DigitalHarace · 2020-12-24 15:30:51 +08:00 · 13609 次点击
    这是一个创建于 1422 天前的主题,其中的信息可能已经有所发展或是发生改变。

    vue3.0 ts 会成为主流写法么,还是 js 依然主流。

    95 条回复    2020-12-26 13:10:29 +08:00
    DeWhite
        1
    DeWhite  
       2020-12-24 15:33:43 +08:00
    ts 应该是大方向吧,确实协同上面好了一些。
    阅读也好阅读了一点。
    DigitalHarace
        2
    DigitalHarace  
    OP
       2020-12-24 15:35:50 +08:00
    来,统计下。看看大家上 ts 还是 js 的比例为多少
    ruoxie
        3
    ruoxie  
       2020-12-24 15:36:53 +08:00
    我自己的项目上了 tsx,而且完全用 composition api,跟写 react hook 似的
    Adaocean
        4
    Adaocean  
       2020-12-24 15:38:07 +08:00   ❤️ 1
    2020 年了还有人不用 TS 吗?不会吧不会吧
    wunonglin
        5
    wunonglin  
       2020-12-24 15:46:37 +08:00   ❤️ 1
    对于 vue 来说 js 还会是主流。有几个原因
    1 、非强制性。
    2 、vue 上手难度低,导致新手一般只用 js 即可,会不会 ts 最终的成品其实都一样(能干活就行)
    3 、周边生态并非全是 ts (全家桶以及热门库除外),这样用起来会导致体验断层
    miloooz
        6
    miloooz  
       2020-12-24 15:51:26 +08:00
    已经将 react vue 小程序都改成 ts 写了,舒服的很,最近写了个 vue3.0 的小东西,ts 体验还行。
    sjhhjx0122
        7
    sjhhjx0122  
       2020-12-24 15:58:20 +08:00
    如果不上 ts,那些魔法 api,我会把代码写的很乱
    LokiSharp
        8
    LokiSharp  
       2020-12-24 15:58:39 +08:00
    都说 JS 简单,我怎么觉得 TS 比 JS 简单呢。。。学不会 JS 才用 TS 的,难道只有我一个么。。。
    murmur
        9
    murmur  
       2020-12-24 16:03:08 +08:00
    @LokiSharp ts 比 js 多,肯定是 ts 约束更难,而且 ts 有的用了注解就跟原始 api 更难了,ts 唯一的好处就是有.d.ts 联想更准确
    murmur
        10
    murmur  
       2020-12-24 16:03:53 +08:00
    *用了注解跟原始 api 不一样了
    LokiSharp
        11
    LokiSharp  
       2020-12-24 16:11:04 +08:00
    @murmur #9 但是 JS 参数全靠猜,代码量稍微大一点就很折腾了
    jones2000
        12
    jones2000  
       2020-12-24 16:21:49 +08:00   ❤️ 1
    js 方便, 直接浏览器就可以调试, ts 还要编译 太麻烦了.
    shaozelin030405
        13
    shaozelin030405  
       2020-12-24 16:25:20 +08:00
    @jones2000 这两个不矛盾吧。。。
    Oktfolio
        14
    Oktfolio  
       2020-12-24 16:29:18 +08:00   ❤️ 4
    前端写的 React + TS,看得我太难受了,TypeScript 写成了 AnyScript 。
    KuroNekoFan
        15
    KuroNekoFan  
       2020-12-24 16:31:14 +08:00 via iPhone
    其实在用对象解构做参数和 es6module 的前提下,js 也能有相当明确的参数提示
    要不要强类型约束就见仁见智了
    Jaosn
        16
    Jaosn  
       2020-12-24 16:33:54 +08:00
    新项目都在用 Vue3 + TS,Composition API 简直不要太香!
    ArrayBuffer
        17
    ArrayBuffer  
       2020-12-24 16:39:14 +08:00
    目前还没上 vue3, 但项目里已经配置好了 ts, ts 是可选并且推荐使用的
    现在在 .vue 文件里写某个变量的时候没有语法提示, 不知道是不是我的姿势不对
    yhxx
        18
    yhxx  
       2020-12-24 16:46:00 +08:00   ❤️ 23
    我会选 TS,但是我还是看不惯那些穆斯林一样『不上 TS 就是你菜、你要被钉在前端耻辱柱上、0202 年了不会还有人没上 TS 吧不会吧不会吧』的言论
    blindie
        19
    blindie  
       2020-12-24 16:52:25 +08:00 via Android
    @Oktfolio #14 AnyScript 真实
    yaphets666
        20
    yaphets666  
       2020-12-24 16:58:09 +08:00
    有条件肯定搞 TS 没条件 JS 一点也不差
    g00001
        21
    g00001  
       2020-12-24 16:59:27 +08:00   ❤️ 2
    一天到晚总是忙着在网上摸鱼发表高见的,用啥都困难。
    dbres
        22
    dbres  
       2020-12-24 17:45:41 +08:00
    @Oktfolio 万物皆可 any [doge]

    这还不如 js 呢
    lneoi
        23
    lneoi  
       2020-12-24 17:59:32 +08:00
    写 ts 大半时间在写注解.. 特别是比较自由的泛型的注解
    youla
        24
    youla  
       2020-12-24 18:04:06 +08:00
    身为一个做着以 c#开发为主的程序员,却连 ts 都完全不会,我很抱歉!!
    creanme
        25
    creanme  
       2020-12-24 18:07:24 +08:00 via Android
    @LokiSharp #8 别逗,ts 类型很复杂的
    charlie21
        26
    charlie21  
       2020-12-24 18:30:40 +08:00
    从单纯的 API caller 的角度,ts 和 js 都没啥区别。
    更值得关心的问题是 OOP vs FP
    jones2000
        27
    jones2000  
       2020-12-24 18:31:58 +08:00
    @shaozelin030405 低层模块直接 js 裸写就行了, 不需要 vue, 直接浏览器开发调试就可以了. 上层 UI 相关的才会用 VUE,不过我只负责底层的, 只开发 js 基础模块,其他都不用管,由别的部门负责。https://github.com/jones2000/HQChart  这个是我 js 裸写的,图形插件, 8W行代码左右吧, 直接 js 上,方便。
    drydiy
        28
    drydiy  
       2020-12-24 18:33:20 +08:00
    个人看法:
    1 、对于业务经常变动的业务项目,不适合用 ts,因为快速才是此类需求最重要的。
    2 、对于工具类 /基础设施类项目,最好上 ts 。
    hoyixi
        29
    hoyixi  
       2020-12-24 18:34:20 +08:00
    这让我想起了,当年曾红极一时的 CoffeeScript
    keepeye
        30
    keepeye  
       2020-12-24 18:37:09 +08:00
    是个学 ts 的机会吧
    ConradG
        31
    ConradG  
       2020-12-24 18:43:00 +08:00
    预期上不会,ts 的门槛毕竟在那,而且未来并不是很明朗。发展得好可能 vue4.0 会成为主流。
    tinycold
        32
    tinycold  
       2020-12-24 18:44:47 +08:00 via Android
    我觉得,不 TS 不行,但是也别搞得太过极端。

    适当的约束和说明代码可读性的确高了很多,只要不是生毛子乱来就海星。

    但是像那些"极客"天天做类型体操也受不了
    debuggerx
        33
    debuggerx  
       2020-12-24 19:10:09 +08:00
    有些人,恨不得把 java 那样的强类型语言写成 python
    也有些人,恨不得把 c 那样的弱类型语言写成 C#
    没有对错,取决于场景和个人思维模式……
    同样是前端开发,有时思维模式的区别比男人和女人的对立还严重-_-||
    作为前后端都写、大小团队都待着、过带过人也被人带过的伪全栈,总的来说我还是倾向 ts 的……但真要单从语言语法上说,其实我更喜欢很多人讨厌的 dart,虽然最新的 dart 在搞的空安全语法我不是很能接受。。。
    LokiSharp
        34
    LokiSharp  
       2020-12-24 19:46:05 +08:00 via iPhone
    @creanme 除了搭框架要用泛型的比较复杂之外,不都是直接套娃就行的么
    loading
        35
    loading  
       2020-12-24 19:54:51 +08:00 via Android
    想搭车问个 ts 入门教程,文本和视频都可以。
    rophie123
        36
    rophie123  
       2020-12-24 19:59:12 +08:00 via iPhone
    一个前端能有多少自己写的 JS ?
    lancelock
        37
    lancelock  
       2020-12-24 20:28:34 +08:00 via iPhone
    公司还是 vue2,ts 也是不用想了。
    我个人项目之前都用 react hooks,最近改用 blazor 写了
    suzic
        38
    suzic  
       2020-12-24 20:30:03 +08:00 via Android
    在混合用,通用组件用 ts,业务相关的用 js
    revalue
        39
    revalue  
       2020-12-24 23:14:09 +08:00
    @loading 2010 年入驻 V 站的 还问这种问题?不就是分分钟的事吗
    loading
        40
    loading  
       2020-12-24 23:28:27 +08:00 via Android   ❤️ 3
    @revalue 每个人都不是全知全能的,万一有更好的呢?我一直是虚心求教的心态的。
    namelosw
        41
    namelosw  
       2020-12-24 23:39:06 +08:00   ❤️ 1
    @yhxx TS 就 TS, 为啥穆斯林? 穆斯林把你钉耻辱柱上了?
    love
        42
    love  
       2020-12-25 08:03:37 +08:00 via Android
    没有 ts 太容易出错了,作为弱类型语言有时类型不对都不报错,感觉就是在关灯写代码,付出的注意力足够写类型注释了
    rodrick
        43
    rodrick  
       2020-12-25 08:07:19 +08:00
    问问大家学会 ts 花了多久,有什么好的学习资源推荐的
    oatw
        44
    oatw  
       2020-12-25 08:11:13 +08:00
    ts 对 js 这个动态语言的灵活性牺牲太大了,语法层面也太啰唆,个人不是很喜欢。
    感觉比较适合写惯了 java 的人,或者团队里需要堆人的时候用来加强约束。

    从单兵作战的角度来说,效率和表现力就是王道,还不如用 coffee 呢。
    pecopeco
        45
    pecopeco  
       2020-12-25 08:16:10 +08:00 via Android
    至少现在时机不太成熟,很多插件引入进来跟 ts 不兼容会报错,项目着急上线的时候为这种不必要的事情徒费心力
    myCupOfTea
        46
    myCupOfTea  
       2020-12-25 08:48:48 +08:00
    ts 挺好,已经写了一年呢 不想回去写 js
    ciddechan
        47
    ciddechan  
       2020-12-25 08:50:30 +08:00
    JS 的容错性是我喜欢它的原因,没有之一
    Reapper
        48
    Reapper  
       2020-12-25 09:08:02 +08:00
    js
    fengxianqi
        49
    fengxianqi  
       2020-12-25 09:17:48 +08:00 via Android
    用了一段时间,自己觉得很好,可阅读性可维护性都提高了,但发现团队其他小伙伴觉得定义接口返回字段特别麻烦,所以有些索性就用 any 了,现在处于一种混用的状态。

    业务代码用 js,通用组件用 ts 或许是个不错的方案。
    h82258652
        50
    h82258652  
       2020-12-25 09:18:07 +08:00
    希望是 ts,但实际只会是 js 。公司那群懒人学新技术是不可能的,只会混。
    除非哪天像 angular 强制只能 ts 。
    IanHo
        51
    IanHo  
       2020-12-25 09:27:18 +08:00
    ts 太舒服了,夏天开始就用了。
    belin520
        52
    belin520  
       2020-12-25 09:27:38 +08:00
    @yhxx #18 哈哈哈哈哈,你的结论太真实了,我也不知道怎么形容这种人,感觉很邪教,我信仰的你不信仰,就是异类。原来描述的就是绿绿群体。
    supuwoerc
        53
    supuwoerc  
       2020-12-25 09:30:13 +08:00   ❤️ 4
    2020 年底了,还有人因为用 TS 优越,不会吧不会吧
    Yuiham
        54
    Yuiham  
       2020-12-25 09:40:41 +08:00 via Android
    @charlie21 怎么用 ts 还是用 js 还跟 OOP, FP 有关
    fy
        55
    fy  
       2020-12-25 09:41:50 +08:00   ❤️ 1
    vue2 就在用 ts 了,现在问我 vue3 ?
    creanme
        56
    creanme  
       2020-12-25 10:08:03 +08:00 via Android   ❤️ 1
    @fengxianqi #49 swagger 或者 yapi 都有生成 ts 代码的插件
    windyCity1
        57
    windyCity1  
       2020-12-25 10:21:18 +08:00
    ts 和 js 混用吧,团队有些同事并不适应也不喜欢类型强约束
    MengiNo
        58
    MengiNo  
       2020-12-25 10:25:02 +08:00
    讲道理感觉 ts 还是友好一些,毕竟什么事情都是确定的,出了问题是微软的锅。js 毕竟有断层 10 年的历史包袱,当然大概率是我菜,总有一个设备兼容不了。
    PinkRabbit
        59
    PinkRabbit  
       2020-12-25 10:29:44 +08:00
    这难道不是看团队选择吗,单人还是 JS,人多了开发还是 TS 好
    freak118
        60
    freak118  
       2020-12-25 10:32:17 +08:00
    @windyCity1 我们是通用组件用
    HolmLoh
        61
    HolmLoh  
       2020-12-25 10:34:48 +08:00
    服务端技术栈平时一般是写 java 的,所以 ts 很快上手,要做前端的时候我都直接用 ts
    abelmakihara
        62
    abelmakihara  
       2020-12-25 10:35:27 +08:00
    有些人 any 一把梭的
    没有 @type 爆一堆红的库
    还不如用 js 呢
    到底是不是为上而上各自心里都有数
    samin
        63
    samin  
       2020-12-25 10:36:26 +08:00
    啥 nodejs ts 都是后台小伙伴搞的 纯前端的小伙伴是几乎不大可能有工程化思想的 哈哈 坐等 diss
    wangyzj
        64
    wangyzj  
       2020-12-25 10:36:51 +08:00
    还在用 vue2,而且我觉得还会用很久
    abelmakihara
        65
    abelmakihara  
       2020-12-25 10:39:38 +08:00
    哦还有公司内部的一些 js 库
    一装全红了
    还得去补定义文件
    我是恶心了
    zhuweiyou
        66
    zhuweiyou  
       2020-12-25 10:48:50 +08:00
    我做的项目(多是活动页)用 TS 没感觉有什么优势,JS 开发效率高多了.
    windyCity1
        67
    windyCity1  
       2020-12-25 10:57:30 +08:00
    @freak118 #60 差不多,在公司项目能写通用组件的人一般都能接受 ts,调用的人就不一定了
    EPr2hh6LADQWqRVH
        68
    EPr2hh6LADQWqRVH  
       2020-12-25 12:00:16 +08:00   ❤️ 1
    少点人上吧,尤雨溪自己都没理解 ts,Vue 的 ts 也能叫 ts?
    少带歪点人吧
    lifefriend
        69
    lifefriend  
       2020-12-25 13:42:41 +08:00
    个人更愿意 js,ts 就像用一个二手东西。
    heyjei
        70
    heyjei  
       2020-12-25 13:53:15 +08:00
    说好的 Type,最后都变成了 Any 。
    faceRollingKB
        71
    faceRollingKB  
       2020-12-25 14:10:49 +08:00
    vue2.6 尝试过 ts 了,体验很不好,一两年内不打算再折腾了
    shenyu1996
        72
    shenyu1996  
       2020-12-25 14:15:14 +08:00
    这也要看做什么业务吧
    要是接口返回属性天天改,用 ts 反而头疼
    还有那种这个项目这周就要的 哪有时间用 ts 慢慢写
    no1xsyzy
        73
    no1xsyzy  
       2020-12-25 14:22:35 +08:00
    @LokiSharp 是补全依赖症,享受了现代的便利
    不是 TS 比 JS 简单,而是 TS+IDE 比 JS / JS+IDE 简单。

    @debuggerx Typed Racket:秒了。
    LokiSharp
        74
    LokiSharp  
       2020-12-25 14:46:29 +08:00
    @no1xsyzy #73 现在写代码不用 IDE 的不多了吧,TS 就算配合 VSCode 代码提示也很舒服了
    no1xsyzy
        75
    no1xsyzy  
       2020-12-25 14:50:07 +08:00
    @LokiSharp 倒不是特指 IDE,还是补全依赖症,是富贵病(
    玩笑归玩笑,这是好事
    lozzow
        76
    lozzow  
       2020-12-25 14:56:29 +08:00
    TS 在工程化上面比 js 好太多,写了一段时间的 TS 后,获取写 py,越来越喜欢写函数注解了
    dabaicai2016
        77
    dabaicai2016  
       2020-12-25 15:02:08 +08:00
    @zmlq7 你是高级前端吗
    devwolf
        78
    devwolf  
       2020-12-25 15:02:10 +08:00
    撇开需求和条件讨论使用 ts 还是 js,也是一种耍流氓。

    #4 这种无脑带节奏的,见一个 b 一个
    jankerli
        79
    jankerli  
       2020-12-25 15:03:49 +08:00
    用习惯了 ts,感觉回不去 js 了
    devwolf
        80
    devwolf  
       2020-12-25 15:06:22 +08:00
    @devwolf 龟龟,第一次 b 人,原来 b 了楼层会变。同 yhxx 一样 看不惯“20XX 年了不会还有人没上 TS 吧不会吧不会吧”
    byzf
        81
    byzf  
       2020-12-25 15:10:13 +08:00
    ts 对 js 老手来说基本是无缝的,也没啥上不上的,但个人认为目前 ts 大多数库里到处是 any,几年前就这样估计未来也不会改变,结果就是上不上 ts 没有特别的区别。
    toesbieya
        82
    toesbieya  
       2020-12-25 15:13:13 +08:00
    ts 和 go 、kotlin 一样太丑了,我是不能理解为什么要把变量声明放在后面,还说啥写惯了 java 的很容易适应,这压根就适应不起来
    kekeekehernando
        83
    kekeekehernando  
       2020-12-25 15:26:36 +08:00
    我公司的项目前端只有我一个人开发
    用 TS 给自己添堵吗
    pecopeco
        84
    pecopeco  
       2020-12-25 15:52:07 +08:00 via Android
    @samin 以大部分前端项目的复杂度,还够不上谈工程化,快速上线迭代才是首要考虑的
    pecopeco
        85
    pecopeco  
       2020-12-25 15:56:27 +08:00 via Android
    如果 js 的动态化灵活性成了缺点,那它在 8 年前 ts 发布的时候就已经死了
    miloooz
        86
    miloooz  
       2020-12-25 16:32:05 +08:00
    @dabaicai2016 我可算不上,用着玩呗,反正随我。
    andyskaura
        87
    andyskaura  
       2020-12-25 16:42:56 +08:00
    @kekeekehernando 我也是一个人一个项目 我更偏向于用 ts
    chouchoui
        88
    chouchoui  
       2020-12-25 16:47:15 +08:00
    Vue 2 + Composition API + ts 体验良好
    反正公司就一个前端随便瞎搞
    ideacco
        89
    ideacco  
       2020-12-25 16:55:06 +08:00
    any + TS 走一波
    frankkai
        90
    frankkai  
       2020-12-25 17:03:45 +08:00
    新项目可以
    老项目可以但没必要
    matatabi
        91
    matatabi  
       2020-12-25 17:08:47 +08:00
    0202 年了不会还有人没上 TS 吧不会吧不会吧
    chengxy
        92
    chengxy  
       2020-12-25 18:04:57 +08:00
    @ideacco #89 你这还不如 js 呢,毕竟少写了: any
    GiantHard
        93
    GiantHard  
       2020-12-25 20:18:36 +08:00
    Vue3 没有 TS 的话,经常忘写 someRef.value
    pixiaotiao
        94
    pixiaotiao  
       2020-12-25 20:30:30 +08:00 via Android
    TS 不错
    dfkjgklfdjg
        95
    dfkjgklfdjg  
       2020-12-26 13:10:29 +08:00 via iPhone
    大概率不会,取决于公司规模和项目开发周期。
    基本没有多人合作和短而多的敏捷开发🤷🏻‍♂️
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2646 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 04:42 · PVG 12:42 · LAX 20:42 · JFK 23:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.