> 这让我想起《这个杀手不太冷》里的杀手说,他杀人的秘诀是用匕首,而菜鸟新人一般先学狙击。高手用匕首确实有很多优点,但缺点也很明显:你要先成为高手。 @ChrisFreeMan 这句话我的理解是菜鸟应该学 Typescript ,类型安全+丰富的自动补全能减少很多基础错误,高手可以用 Javascript ,经验丰富,长期积累下来的编程范式会避免一些错误。
@luodan @ns09005264 我理解你们的意思,我的第一门语言不是 ts 或者 js ,我真正想知道的还是关于编程思维的转换,就是开发期间是否需要过度关注所谓的类型安全,以及基于类型所思考的抽象所付出的代价带来的回报是否对得起个人。这个问题让我一直很在意。
我个人认为 TypeScript 还是像一部分人宣称的那样,是为了大项目而存在的,而对于一些小型的项目来说可能又成了一种负担。但是在这里对于大小的区分,我认为这不仅和代码量有关,还和一个团队的沟通模式,乃至个人习惯有关。 像 Solo 或者几个人组成的开发团体,沟通的模式相当具有多样性,因此 TS 这种“与代码高度契合的沟通”不一定能够成为一个很好的选择。这中间甚至还可能有一些微妙的个人因素,比如说有些人就喜欢 TS 这种相比于 JS 高度模式化的代码,有些人就恰恰相反。 从实际角度来看,TS (相比于 JS 多)起到的作用大概是把一些设计代码化,以及借助 tsc 达成所谓的 type safe 。但是当这群人不需要也能做好这一切时,那即使有那么一点可能性会犯一些错误,但是不需要就是不需要。 所以我个人感觉还是按照具体需求来,没有“更适合”一说。目前而言我做的一些简单的小脚本是用纯 JS 写,时间比较紧迫的项目也是用 JS 写,而一些慢节奏、投入大量时间的合作项目,经过协商以后既有选择 JS 也有选择 TS 的。