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

最近 TypeScript 越来越火,那么选择它的理由是什么呢?

  •  
  •   npm · 2020-01-12 23:18:36 +08:00 · 5748 次点击
    这是一个创建于 1806 天前的主题,其中的信息可能已经有所发展或是发生改变。

    TypeScript 最终会被编译成 JavaScript,那为什么不直接写 JavaScript 呢??

    24 条回复    2020-01-16 06:58:26 +08:00
    npm
        1
    npm  
    OP
       2020-01-12 23:20:07 +08:00
    要学的东西越来越多,感觉都快学不过来了。

    在想要不要学 TypeScript
    tonytonychopper
        2
    tonytonychopper  
       2020-01-12 23:50:46 +08:00
    编程语言会变成 01 代码,那为什么不直接写 01 呢?多看看 TypeScript 带来了什么,才知道要不要学它。
    varzy
        3
    varzy  
       2020-01-12 23:54:04 +08:00 via iPhone
    存在即合理,能火起来必然有其道理。我个人认为 ts 最大的作用就是让你知道 . 的后面有什么。
    wd
        4
    wd  
       2020-01-13 07:17:07 +08:00 via iPhone
    增加 type 主要是为了协作以及让代码更好维护。你想想有一个方法半年后你想重构下,有 type 和没 type 的区别。
    HeyWeGo
        5
    HeyWeGo  
       2020-01-13 08:53:30 +08:00
    用 ts 更多的是工程上的考虑
    DOLLOR
        6
    DOLLOR  
       2020-01-13 09:39:44 +08:00   ❤️ 1
    TS 的成功,不在于它带来了什么,在于它没有妄图革 JS 的命。TS 号称 JS 的一个超集,JS 有的 TS 都有,JS 能做的 TS 都能,JS 更新则 TS 也一起跟进。
    相比之下,Ruby 那帮人搞的 CoffeeScript,且不说把 JS 的语法全打掉,我不太明白这个语言居然禁止 variable shadowing,使得它难以用在多人协同的大项目中。并且随着 ES6 的发布,跟不上 JS 的新特性,很快被湮没在历史的长流中。
    shunfy
        7
    shunfy  
       2020-01-13 09:45:08 +08:00
    js 有了 es6, 还需要 ts 进行加持?
    cmdOptionKana
        8
    cmdOptionKana  
       2020-01-13 09:46:52 +08:00
    一个自己不搞大项目的普通程序员,学 TS 的主要理由就是越来越多公司用它。

    而公司用它的理由就是类型安全,减少低级 bug 的出现,更容易重构,从 Java 等语言转过来容易。

    如果一个自己不搞大项目的普通程序员,不考虑找工作的问题,只考虑在自己的小项目里用什么语言,这种情况下 TS 优势不明显。
    gdrk
        9
    gdrk  
       2020-01-13 10:02:07 +08:00
    更利于工程化吧
    optional
        10
    optional  
       2020-01-13 10:18:57 +08:00
    有团队开发经历就可以领略到 ts 底魅力
    Torpedo
        11
    Torpedo  
       2020-01-13 10:52:59 +08:00
    兼容 js 良好。可以增加类型来限制一下大家
    DFshpAq3
        12
    DFshpAq3  
       2020-01-13 11:01:06 +08:00
    @wd 您好,不太明白重构时有 type 和没 type 的区别,方便指教一下吗
    scofieldpeng
        13
    scofieldpeng  
       2020-01-13 12:27:42 +08:00   ❤️ 2
    @DFshpAq3 #12 这个很简单,比如你重构的时候,看到一个函数,有接收参数,但是你知道这个参数接收的是什么类型么? int ? float ? array ? object ?或者是某一个具体的类?或者返回值是啥你知道么?你这些不知道,你除非把整个系统重头撸到尾,确定 100%知道你到底要改啥的时候你重构的时候才不会漏掉原来的逻辑,避免越重构越垃圾的问题,当然,这只是你重构,你去维护迭代也是同样的
    wxsm
        14
    wxsm  
       2020-01-13 12:39:53 +08:00 via iPhone   ❤️ 1
    项目大了,人多了,js 写出来的东西迟早会变成一坨💩,但是 ts 和 eslint 可以提高这💩的下限。
    uxstone
        15
    uxstone  
       2020-01-13 13:45:58 +08:00
    类型即注释
    iRiven
        16
    iRiven  
       2020-01-13 13:54:54 +08:00 via Android
    类型!
    Vegetable
        17
    Vegetable  
       2020-01-13 13:56:12 +08:00
    ts 符合前端大势--工程化.
    agdhole
        18
    agdhole  
       2020-01-13 13:58:59 +08:00 via Android
    类 型 安 全
    hc181533609
        19
    hc181533609  
       2020-01-13 14:00:42 +08:00
    说太多 也没什么用,很多写后台的人比较习惯这种写法,这样他们使用 js 成本更低,至于工程化 维护性,这些前期架构好定好加上 review,后期自然差不了。
    HongJay
        20
    HongJay  
       2020-01-13 14:01:28 +08:00
    类似于 kotlin 之于 java ?
    hc181533609
        21
    hc181533609  
       2020-01-13 14:01:30 +08:00
    至于类型安全 之前 也有 flow 其他 也不太懂 我的了解 大概 就这些吧
    cheneydog
        22
    cheneydog  
       2020-01-13 14:03:25 +08:00
    FaceBook 出了个 叫 Reason 的语言,对标 Typescript,体验了下感觉还行。
    mwVYYA6
        23
    mwVYYA6  
       2020-01-13 22:48:34 +08:00 via Android
    ts 写成狗屎的也不少呀,问题根本不在于有没有类型检查,而是三层三元表达式,n 个循环嵌套这种令人发狂的代码。这种代码不管用 xx 语言都是狗屎。
    ts 仅仅加了个类型检查而已,两层嵌套后类型还找不到了🙃
    kwrush
        24
    kwrush  
       2020-01-16 06:58:26 +08:00
    @shunfy 类型检查的好处多多,尤其团队开发和前后端分离
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1344 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:10 · PVG 01:10 · LAX 09:10 · JFK 12:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.