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

2020-01-12 23:18:36 +08:00
 npm

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

5535 次点击
所在节点    TypeScript
24 条回复
npm
2020-01-12 23:20:07 +08:00
要学的东西越来越多,感觉都快学不过来了。

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

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

如果一个自己不搞大项目的普通程序员,不考虑找工作的问题,只考虑在自己的小项目里用什么语言,这种情况下 TS 优势不明显。
gdrk
2020-01-13 10:02:07 +08:00
更利于工程化吧
optional
2020-01-13 10:18:57 +08:00
有团队开发经历就可以领略到 ts 底魅力
Torpedo
2020-01-13 10:52:59 +08:00
兼容 js 良好。可以增加类型来限制一下大家
DFshpAq3
2020-01-13 11:01:06 +08:00
@wd 您好,不太明白重构时有 type 和没 type 的区别,方便指教一下吗
scofieldpeng
2020-01-13 12:27:42 +08:00
@DFshpAq3 #12 这个很简单,比如你重构的时候,看到一个函数,有接收参数,但是你知道这个参数接收的是什么类型么? int ? float ? array ? object ?或者是某一个具体的类?或者返回值是啥你知道么?你这些不知道,你除非把整个系统重头撸到尾,确定 100%知道你到底要改啥的时候你重构的时候才不会漏掉原来的逻辑,避免越重构越垃圾的问题,当然,这只是你重构,你去维护迭代也是同样的
wxsm
2020-01-13 12:39:53 +08:00
项目大了,人多了,js 写出来的东西迟早会变成一坨💩,但是 ts 和 eslint 可以提高这💩的下限。
uxstone
2020-01-13 13:45:58 +08:00
类型即注释
iRiven
2020-01-13 13:54:54 +08:00
类型!
Vegetable
2020-01-13 13:56:12 +08:00
ts 符合前端大势--工程化.
agdhole
2020-01-13 13:58:59 +08:00
类 型 安 全
hc181533609
2020-01-13 14:00:42 +08:00
说太多 也没什么用,很多写后台的人比较习惯这种写法,这样他们使用 js 成本更低,至于工程化 维护性,这些前期架构好定好加上 review,后期自然差不了。
HongJay
2020-01-13 14:01:28 +08:00
类似于 kotlin 之于 java ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/637343

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX