推上看到的今天的热门讨论关于独立开发是否更适合 JavaScript 而不是 TypeScript

76 天前
 ChrisFreeMan

https://twitter.com/tibo_maker/status/1780920476744757601

好奇有多少人是从 TypeScript 回到 JavScript 的,为什么?你用了多久的 TypeScript 呢 (自由随意的讨论)?

8562 次点击
所在节点    程序员
111 条回复
lanlanye
75 天前
独立开发,也就是不考虑大型多人合作的项目,JS 确实有自己的优势,但这个也得看人……你得承认有些开发者的思路就是清晰到不需要类型提示,看到一个变量名就知道它里面有什么,比如你去看 DHH 写 RoR 的视频。
abc1310054026
75 天前
我认为混合使用才是合理方案。在看起来像 library ,utils 的代码上用 ts ,在看起来像 UI 的代码上用 js 。
darkengine
75 天前
@musi 只 TS 来做类型管理,比 JS 多花不了多少时间。除非项目是一锤子买卖,不然没有类型管理的 JS 维护起来就知道有多酸爽了。
xiaoz
75 天前
我是独立开发者,做了几个小产品,非专业前端,我不熟悉 TypeScript ,我只管写出来能跑,实现需求,先上线项目,根本不在意是 TS 还是 JS
chuck1in
75 天前
很多人写 ts 是为了复杂而复杂。ts 的类型可以写的很复杂,以至于你每天编程 4 小时,其中 3 小时是在推导类型。甚至都不一定看得懂。
celeron533
75 天前
C#全家桶 Blazor wasm
狗头
FightPig
75 天前
我个人写 ruby 多,所以大多都是 js ,ts 用的少。
Chuckle
75 天前
以前不喜欢 ts ,但现在用习惯了,ts 真香,类型推导、元数据,太方便了
ArrayBuffer
75 天前
这个问题本质上是愿不愿意放弃类型安全来换取开发速度
thinkershare
75 天前
不管是前端 Web 还是后端的 nodeJS 开发。,基本都是写 TS ,但尽可能避免搞类型体操。
虽然我自我感觉对 JavaScript 的掌握水平要远高于 TS 的水平。
james122333
75 天前
给我写我会写 js, 毕竟类型是什么通常看变量命名就知道了 顶多在变量声明时加注解 然后使用检验工具去检查 或者使用时跳转到定义即可 搭配 vi 类编辑器绑定快捷很快 根本就不需要记忆 找对方法很重要 都在乱搞类型系统都帮不到你 本来就要强制写质量好点的代码
musi
75 天前
@darkengine #83 在项目初期还没有用户的情况下你怎么知道你开发的产品是不是一锤子买卖呢?
我要是知道我的项目上线后一定有用户用,一定能赚到钱,那我肯定以可维护性可扩展性作为我项目的首要指标了

另外还有一点,ts 只能起到辅助作用,代码不是只要强类型就一定可维护,真要这样的话隔壁 java 岂不是不会有屎山项目存在了
james122333
75 天前
@musi

这个代码混淆就可以 毕竞 js 透明 或者 wasm 虽然应该是都会被反编译
XCFOX
75 天前
TS 写习惯了,现在已经完全离不开 TS 了。
后端上个 OpenAPI 或者 GraphQL 或者 tRPC ,前端配合 ts 调用起来就很有信心,对接口有完全的掌控。接口有任何修改 TS 都能检查出来。

现在找轮子的时候,没有 TypeScript Declare 的包直接排除。有的库 tsdoc 写得很详细,tsdoc 直接当文档看。

写通用库的时候 TS 是必须的,之后调用的时候会很舒服。写业务的时候用 ts 就更舒服了,一般类型都直接能推导出来。
techstay
75 天前
100 行以内的小脚本用 js 没啥问题,超过这个复杂度就应该用 TypeScript 了
lstz
75 天前
写 js 没关系,不要让我来维 jia 护 sai 就好
darkengine
75 天前
@musi 上 TS 时间成本高不了多少。代码不是只要强类型就一定可维护,但是对于同一水平的开发者来说,有强类型加持更容易维护,强类型不是容易维护的充分条件。
levelworm
75 天前
@morgan1freeman 他当时有点特殊,操作系统都挺贵的,干脆自己写一个。那时候的操作系统不是很复杂。然后就是逐渐迭代了。

所以得入行早。
join
75 天前
问你们一个问题,当你们写 js/ts 的时候,跳转到定义的地方怎么才能看到代码的实现? js 好一点,有些库能看到。但 ts 写的库通通看不到,只能看到一堆接口。
我喜欢 go 语言那种跳转到定义后可以直接阅读代码的实现。但写 js 这块要看代码实现就会非常困扰。
subframe75361
75 天前
@join "typescript.preferGoToSourceDefinition": true

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

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

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

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

© 2021 V2EX