没人觉得 TS 的代码非常丑吗..

2020-04-09 23:05:40 +08:00
 fancy2020

我个人非常讨厌 TS,奈何现在很多第三方库都在使用 TS 了,所以也不得不接触,平时看代码的时候看到一坨坨冗长的类型定义,真的看得非常累..

18470 次点击
所在节点    程序员
164 条回复
Tink
2020-04-09 23:51:49 +08:00
确实那一大坨类型声明看的心累
Conda
2020-04-09 23:53:05 +08:00
是丑还是不愿意学呢? 个人觉得 TypeScript 给了 js 新的生命
fancy2020
2020-04-09 23:55:08 +08:00
最烦的就是,很多人认为讨厌 TS 的人===没用过静态类型语言的。
本人工作 12 年,刚开始工作做过 5 年 C++游戏后端,所以我明白静态语言有哪些好处,我更明白动态语言有自己的特点,
不喜欢一门好好的动态语言被静态化。
fancy2020
2020-04-09 23:56:51 +08:00
@VDimos 乱写和语言无关,静态语言一样可以写出屎一般的代码
zzzzzzggggggg
2020-04-10 00:04:43 +08:00
可能是不习惯
tinycold
2020-04-10 00:05:51 +08:00
The Shy 的剑魔的确强,至于代码我没看过不好评价。。
charlie21
2020-04-10 00:12:06 +08:00
谁叫你盯着看了?
2kCS5c0b0ITXE5k2
2020-04-10 00:14:07 +08:00
有一说一 类型定义很喜欢。 我写 php 都习惯加上类型定义.
cmdOptionKana
2020-04-10 00:14:46 +08:00
@fanchangyong 并不是动态语言被静态化。

1. TS 本质上是另一门语言,它不是 JS,只是为了获得 JS 的生态而对 JS 做了一些兼容。

2. 由于个人电脑的性能与前端技术的发展,现在 JS 需要承受的负荷已经与它刚被发明出来时不一样。动态语言是好,但它只适合中小型项目,而现在前端项目已经变得非常复杂。

如果 JS 是现在被发明出来的,它更可能是静态类型,而不是动态类型。
gouflv
2020-04-10 00:18:28 +08:00
楼主这样的应该叫做 脚本男孩
nvkou
2020-04-10 00:21:02 +08:00
工程量的问题吧。
如果 js 止步于网页脚本,它是十分轻便称职的。
现在又要用来写工程。那它必须要面对分工,解耦等各种前人的坑。

个人还是十分不愿意看到嵌套太深,就地 function 的恣意妄为风格
love
2020-04-10 00:57:11 +08:00
静态类型真香
不过 ts 类型灵活性比 java 强太多了,导致复杂的类型定义比较难读。
tyrealgray
2020-04-10 01:12:14 +08:00
会用 TS,但是真不喜欢那模版定义类型的写法。比 C++的模版格式感觉远了,确实写多了就觉得 ts 的看起来很丑
JackWolf001
2020-04-10 01:24:55 +08:00
ts 语法相对 c,java 一开始看起来是挺累的,习惯了就还好
ppphp
2020-04-10 01:46:19 +08:00
一点也没觉得影响可读性了,引入新的库,加上类型一眼就能看出来容器的方法,以前新上手一个库,javascript 完全抓瞎,现在 typescript 能让我一天上手 angular,react,楼主应该换一个支持 ts 比较好的编辑器了,其实这些对我来说都没有 css 难写。。。。
有 void*和多态,包括类型写变量前面的语法,导致我觉得 c++非常不好看懂。。。
ochatokori
2020-04-10 01:46:47 +08:00
运行一下 tsc 就可以把类型去掉看你喜欢的 js 了
不过一般发布的库都是导出 js+.d.ts 不会直接导出 ts 吧
yech1990
2020-04-10 06:00:34 +08:00
其实你只要把类型注释的 syntax 颜色改成灰色就行,能极大提升阅读的体验。
wuhanchu
2020-04-10 08:05:38 +08:00
同样不喜欢 ts 但是如果你们开发大项目还是建议上。新生的 js 写起来才是真的丑
kios
2020-04-10 08:10:17 +08:00
TypeScript 很好用啊 怎么丑了
fancy2020
2020-04-10 08:17:43 +08:00
大型项目上 TS 可以理解,但是现在很多几百上千行的项目也用 TS 我就理解不了了

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

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

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

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

© 2021 V2EX