typescript 真的好用吗?

2020-03-27 09:48:26 +08:00
 hxgdzyuyi

楼主接触 js 十多年了。 之前也写过 flash 的 actionscript3 。目前还没有用过 typescript,感觉 typescript 主要是加了一个类型系统。

当时在真实工程环境里头不会麻烦吗,感觉代码阅读的难度和写起来都更麻烦了。

不知道实际操作过的人会觉得好用吗,不会影响开发效率吗。

14867 次点击
所在节点    Node.js
84 条回复
yngzij
2020-03-27 12:16:07 +08:00
===0
==0
==='0'
=='0'
onecode
2020-03-27 12:23:37 +08:00
@yngzij 这个很秀
SilentDepth
2020-03-27 12:32:48 +08:00
个人感受:在开发基于特定数据结构的项目时真希望写的是 TS,一来代码提示更高效,二来光靠变量名辨别预期的数据类型是不够的,此时加上类型标注或提示会好很多。另外,类型关联完善的情况下,重构也痛快得多。

阅读难度和编写麻烦度都跟类型完善度有关。类型完善了,读起来和写起来跟 JS 没大差别(除了必要的类型声明和转换,大部分类型都被隐式推到了,编写时不必关心),而且 TS 引入的一些新特性反而有助于提高可读性。当然如果类型不完善就另说了。

我觉得 TS 目前的问题是相关工具生态还不够成熟,准入门槛还不够低。过去一年 TS 在这方面有明显的进步,但还没达到可以让 JS 社区轻易接受的程度。(虽然也许不是 TS 的问题。)
jin5354
2020-03-27 12:56:58 +08:00
不好用,你要是真仔细写 ts 就知道,ts 现在的缺陷还太多,智能程度也不够,太多地方推导不出来要自己写 hack 。
可读性也是一个问题,有的函数声明加上类型声明可能超过一行,又长又复杂,看的人眼都瞎了。

但是必须用,因为类型检查太重要了。
Mark24
2020-03-27 12:59:56 +08:00
不好用

很多人是为了用而用
KuroNekoFan
2020-03-27 13:01:42 +08:00
用了一段时间
最大的问题是 tsserver 经常出问题
另外就是结合 react-redux 的范式模板会使得改动变得异常繁琐
yafoo
2020-03-27 13:08:17 +08:00
那么多年一直用记事本写代码的人,表示坚决不用 ts 。
本来动态可变类型是 js 和 php 的特性和优点,就因为现在部分.net java 程序员参与了进来,硬生生给改成强类型语言了,严重破坏 js 生态系统。
记得前几年有次跟.net 后端对接接口,有个字符串需要拼接处理一下,弄了半天他愣是搞不定,因为他那数据结构定死了,就那样,不能动。
还有就是编译,本人坚决反对编译,现在每次修改程序,改个字符都要重新编译。
喜欢 ts 的,建议直接去写 java 或者 c 程序。
喜欢 js 的请点赞,喜欢 ts 的请忽略本条评论,哈哈!
AmiKara
2020-03-27 13:33:08 +08:00
ts 有 java 的味道,感觉写起来逻辑比 js 更加清晰,但是代码量会比 js 大很多,新人玩个人项目的时候建议用 js,不然你用 ts 只会用成 anyscript
yaphets666
2020-03-27 13:42:11 +08:00
@lewinlan 确实偏激了兄弟 你看 TS 推广不开你就明白怎么回事了 VUE 是能写出可读性最高代码的前端框架了
Yiki
2020-03-27 15:29:39 +08:00
……学过 java 对 TS 很容易上手就是了
纯 JS 不觉得很烦躁吗……
JerryCha
2020-03-27 15:31:12 +08:00
没有类型,心里总有根弦绷着,担心类型不对出错
mitu9527
2020-03-27 15:32:33 +08:00
以前有一门编程语言叫 javascript,后来微软借 ie 参与竞争搞了个山寨版的“js”,从此前端工程师的痛苦开始了,也让 web 前端的发展停滞了将近十年。chrome 好不容易挽回了局面,微软又杀回来了,虽然这次是在更高层面上切入,但混乱又开始了。试想一下,如果真的越来越多的前端开始依赖强类型,那么 js 势必会引入一套自己的方案,届时会会更混乱。历史的轮回从来没听过,哎。
mitu9527
2020-03-27 15:36:58 +08:00
个人预计,js 目前这个小修小补的阶段就快结束了,很快就会像当年 ecmascript 4 一样引入强类型了,届时更混乱。再加上 web 汇编的引入,前端又会乱成一锅粥。
hantsy
2020-03-27 15:52:22 +08:00
用于后端开发人员,TS 很亲切,ES 5 毫无章法,要人命,ES 6 勉强能用。
zpm683
2020-03-27 15:57:41 +08:00
香!
galikeoy
2020-03-27 16:46:09 +08:00
ts ?啥子东西哦,这么麻烦。
galikeoy
2020-03-27 16:46:48 +08:00
@galikeoy #56 几天后:真香!!!
ansenJ
2020-03-27 16:55:20 +08:00
小公司用 TS 的话 一个好的产品经理是你的门槛....
stabc
2020-03-27 17:01:38 +08:00
个人项目。尝试过用 TS,最后放弃了,主要原因是灵活性不够。而且类型检查只约束程序员,不约束用户输入,处理用户输入时需要额外再写一套检查。
团队项目的话我倒是推荐 TS 的。
huiyifyj
2020-03-27 17:09:45 +08:00
确实是真香。但是...当团队要求禁止使用 any 类型,就会有点不太香。

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

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

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

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

© 2021 V2EX