TypeScript 真的是必须的吗?

2022-01-21 16:15:49 +08:00
 zzlatan

现在每个前端项目都要上这个,感觉语法丑陋,读起来并没有很优雅,还有学习门槛,真的有必要吗?

5459 次点击
所在节点    问与答
37 条回复
EPr2hh6LADQWqRVH
2022-01-21 16:17:15 +08:00
不是。内裤也不是必须的,还要花钱买,完全没有必要。
66beta
2022-01-21 16:18:42 +08:00
共存期确实比较烦,但是有了提示和约束,对开发体验和代码质量有很大帮助。
lneoi
2022-01-21 16:20:39 +08:00
增加的噪音太多了 可以不全部上, 必要的项目和库上一下
iikebug
2022-01-21 16:20:55 +08:00
单个人的项目没必要,但是二个人及以上,这东西就很用必要了,看一下类型就能知道很多东西。
murmur
2022-01-21 16:24:58 +08:00
对于简单项目,赶紧堆工作量出成果要紧,ts 的学习成本也是成本
grewer
2022-01-21 16:26:18 +08:00
interface+注释, 看到这个组件就知道哪些是必须的, 哪些是可选的, 哪些是函数存在什么问题等等, 用起来舒适
luob
2022-01-21 16:27:09 +08:00
你完全可以写 JavaScript 然后命名为 .ts ,并没有人不让你写 AnyScript
SxqSachin
2022-01-21 16:28:50 +08:00
不必须,但是有了类型的话团队协作会更好一些,同时代码提示也更友好。
cmdOptionKana
2022-01-21 16:29:19 +08:00
单人小项目也建议用 ts ,重构的时候方便很多,代码提示也更精准,而且最大的好处是“渐进式”,你可以先使用其中一小部分看得顺眼的特性,后续再慢慢熟悉。
yaphets666
2022-01-21 16:31:07 +08:00
这个东西就是增加开发成本,略微提高代码质量(也有相当大可能性降低代码质量).你能接受这种交换,那就合适.否则不合适.
micean
2022-01-21 16:31:19 +08:00
注解和高级类型对于我帮助很大,看了一天就上手了,相信 ts 不是一个问题
gouflv
2022-01-21 16:36:37 +08:00
没人逼你用吧?
murmur
2022-01-21 16:38:59 +08:00
你们不要高估那种中低级水平的项目,需求不定,设计不定,接口不定,你满心欢喜的拿到接口才发现,除了 http 协议是对的,其余的一塌糊涂

这个时候你写各种定义就是浪费生命
otakustay
2022-01-21 16:44:42 +08:00
我现在无论项目大小,写 TS 比写 JS 还快……
zhaol
2022-01-21 16:46:08 +08:00
没有代码提示写的下去?
enchilada2020
2022-01-21 16:46:48 +08:00
@murmur 多么痛的领悟!如果需求瞎改 又狂赶工期 老代码不及时更新维护 开发前不能详细调查仔细设计 那过期的定义就是灾难 误导性极强
sweetcola
2022-01-21 16:48:55 +08:00
以前的我:TS 这东西谁会用啊,太恶心了,100 行代码里要写 50 行定义,太啰嗦了。
现在的我:真香
enchilada2020
2022-01-21 16:52:36 +08:00
JS 太随便了 想写好对使用者的要求很高 用 TS 至少可以保证一定程度的规范性 减少低级错误 还可以把类型信息显式体现在代码中
个人觉得 TS 那部分的学习成本 本来是在学 JS 时就必须要下的功夫 欠的债早晚要
而且 TS 的类型系统能玩出花来…
enchilada2020
2022-01-21 16:53:18 +08:00
@enchilada2020 欠的债早晚要还
3dwelcome
2022-01-21 16:58:14 +08:00
很多人用 TS ,就是为了用智能提示推导吧。

然而我写代码,基本上都是全关提示的,IDE 里一片寂静。

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

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

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

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

© 2021 V2EX