真的,你可以不用TypeScript

某位伟人说过,没有调查,就没有发言权。

这是我基于 AI + TypeScript 写的项目,花了大半年,提交了近3000次,TypeScript可真是害苦我了。

我一气之下,把TypeScript全部换成JavaScript了,一点TypeScript都不留。

之前含TypeScript量可是有 80% 以上的。

那么接下来,就把我为什么从全力使用TypeScript,到全力抛弃TypeScript的思考分享出来。

首先叠个甲,这里并不是说TypeScript本身不好,单纯的就是TypeScript不适合我,或者说我个人太菜了。

很多时候,技术没有好坏之分,只有合不合适,经过这半年多的时间,对这句话的理解更加深刻了。

我是2015年入行的,经历过TypeScript从名不经传,到家喻户晓的过程,但从业10年,我并没有因为TypeScript的呼声很高,而把TypeScript在我的项目中全面落地。

这也从侧面说明,我是一个在技术方面,不追求新潮,也不追求强大的人,可能正应了那句话,我是一个在用着自己喜欢的技术,一直待在自己舒适区的人。

但AI的发展,让我保持了10年的舒适区有了些许的松动。

TypeScript作为前端领域革命性的变化,多多少少有所了解,但作为一个骨子里极度喜欢自由的人,实在是不想被类型所束缚,也有过多次尝试,但早已习惯了JavaScript的自由,用起来极其别扭。

在AI的协助下,我仿佛如有神助,写TypeScript最麻烦的部分,AI全部搞定了。

前几个月,还算融洽,但AI写的代码,不看不知道,一看吓一跳,可以说是垃圾屎山也不为过。

或许我们从整个项目的局部看,这AI写的代码还真他娘的不错,但如果你从整个项目的协调性,系统性,扩展性,维护性去看,AI写的就是一大坨屎山。

怎么办呢?有两种办法,第一种是眼不见为净,还有一种就是重构它。

重构也有两种方法,用AI去重构AI,或者古法手工重构。

我都试过,实践证明,AI重构后的屎山,还是屎山。

或许是我对AI的提示词,对AI提供的代码规范不够细节,说得不够清楚,但要真让我一五一十,事无巨细的说清楚,那跟我古法手工重构有啥区别?

所以最终还是回到了,古法手工重构的地步。

这个时候,才真正明白了,什么是一个头,两个大。

换做写JavaScript的时候,我重构直接撸起袖子就是干,但现在,我首先要梳理类型,然后让代码与类型进行完美结合,再反复地在代码和类型中进行各种穿插游走。

重构了一段时间,卧槽,好累啊,我大部分时间都不是在写功能,写代码,而是在跟类型斗智斗勇,因为我无法忍受any,无法忍受unknow,也无法忍受不严谨的类型。

原本应该很快就把功能写完的,但至少70%-80%的时间,都在类型这个问题上面反复横跳,我TM到底是要写代码还是写类型啊?

直到我彻底放弃TypeScript的那一刻,我才真正明白,我是一个一根筋的人,我不喜欢一个有类型系统的语言,它居然可以让你不写类型。

正是TypeScript这种,一边要革了JavaScript的半条命,一边又给JavaScript另外半条命一直吊盐水,让我这种强迫症特别抓狂。

回到JavaScript后,终于松了口气,腰不酸,腿也不痛了,回想到很多年以前刚入行那会,所有网站都是JavaScript写的,也不见有几个捅破天的问题出现。

反而是TypeScript问世后,好像继续用JavaScript,整个项目,团队,公司,市值都会天崩地裂一样。

而AI的发展,就算用JavaScript,出现问题的概率也会远远低于多年以前只有JavaScript的时代。

对于代码而言,我现在更信任自己这个人肉编译器,比如用户对接口的传参,每个数据的类型,大小,范围,我都会有一个验证函数进行专门的验证。但如果用TypeScript,你就要进行繁复的判断,类型的定义,不然就会出现红色波浪线。

那我把严格检测关了不就行了吗?那这样我为什么不直接用JavaScript一劳永逸呢?用TypeScript不就是馋它的类型系统吗,但类型系统反而带来了更多麻烦。

以上均为个人单打独斗的情况之思考与分享,不适合所有人,TypeScript是一个非常好的编程语言,革命性的编程语言,但抛去滤镜之后,从自身需求出发,其实很多人都不需要TypeScript。


我是农村程序员,独立开发者,前端之虎陈随易,个人网站 👇

我的所有文章均为古法手写,无 AI 添加剂,请放心食用,如果你觉得本文有用,一键三连 (点赞、评论、转发),就是对我最大的支持~

相关推荐
架构技术专栏6 小时前
Agent 工具调用:从工具声明到执行反馈
前端·人工智能·后端
别动我齐刘海6 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
码事漫谈6 小时前
你让AI干的活,它可能只干了十分之一——而你根本看不出来
后端
Wx-bishekaifayuan7 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
人工智能·spring boot·后端·python·课程设计·express·旅游
志尊宝7 小时前
Vue3 零基础每日笔记(071):暗黑模式与主题切换——CSS 变量 + Element Plus 暗黑方案
前端·css·笔记·vue·html·前端开发·软件开发
Wx-bishekaifayuan7 小时前
springboot汉中旅游服务平台41442-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
WeiXin_DZbishe8 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
刘发财8 小时前
前端如何生成10000页PDF文件?
前端·javascript·开源
WeiXin_DZbishe8 小时前
基于Springboot+AI的kuall音乐广场的设计与实现-计算机毕设 附源码【课程设计】12715
vue.js·人工智能·spring boot·后端·python·php·课程设计
A接拉起0078 小时前
2026 年 JavaScript 开发者需要了解的知识
前端·javascript·后端