为什么vue3会选择ts,或者说ts给vue3带来了什么?

为什么vue3会选择ts,或者说ts给vue3带来了什么?

如题,ts给vue3带来了什么?


回答:

问题可以归结为:ts到底有什么好处?vue3为什么必须用ts?为什么不能继续用js?

如果你是自己一个人,写一个很小的项目,那么其实你用什么都无所谓,并不是必须用ts。

用ts的唯一原因就是项目太大了,参与的人太多了,同一个文件甚至同一行代码都会有不同的人根据不同的需求改来改去,在这种情况下,如果不用ts就很容易犯错误,比如一个函数的入参,定义它的人希望这里是个整数,但是调用它的人非要给个字符串,一旦函数里面出了错,debug就要花很长时间,最后发现是调用者的错误,你再告诉他调用的时候不能是字符串,这时候无论是运行成本还是沟通成本都上去了,时间就是金钱,所以用ts的好处就是为了省钱。

那你说,我写ts的时间比js长,那还多花钱了呢?所以这里有一个性价比的衡量,如果项目很小,参与的人很少,那确实为了写ts而多花的时间还不如节省的时间多,这时候写ts还不如不写,但人往往是有惰性的,如果你养成了写小项目不写ts的习惯,那一旦某天参与大项目就会感到各种不适应,所以为了养成良好的习惯,从小项目就开始注意规范,长大了也就不会不适应。

vue3选择ts说明vue已经度过了成长期,开始进入成熟期,以后越来越多的大型超大型项目会开始采用vue的技术栈,所以vue必须做好适应这种转变的要求,它不再是一个玩具,而必须成为一个能够被大型项目的技术经理(特别是银行、保险、金融行业)所认真考虑的选项,如果想进入这些领域的话,没有极其严格的规范定义是根本不可能的。

一个个人开发的玩具,可以很有趣,但如果不能坚持下去最后也不过就是茫茫历史长河中的一朵小浪花,如果想坚持下去,则最后必然走向与最无聊最无趣但也利益最大的行业相结合的方向,这就是vue3为什么一定要选择ts的原因。


回答:

Using Vue with TypeScript

官网原文:
A type system like TypeScript can detect many common errors via static analysis at build time. This reduces the chance of runtime errors in production, and also allows us to more confidently refactor code in large-scale applications. TypeScript also improves developer ergonomics via type-based auto-completion in IDEs.

有道翻译:
像TypeScript这样的类型系统可以在构建时通过静态分析检测许多常见错误。这减少了生产中出现运行时错误的机会,也使我们能够更自信地重构大规模应用程序中的代码。TypeScript还通过ide中基于类型的自动完成来改进开发者的人体工程学。

个人看法:
从框架本身而言,与项目大小无关,毕竟框架是被别人使用的。
主要还是数据类型检测,vue2的时候,也是有数据类型检测的,使用的是flow。很显然,使用TypeScript比flow更合适,还会带来一些其他的好处。TypeScript是从语言层面支持,肯定会更加强大,怎么看都比flow优雅。

引入TS,实际上在一定程度上会增加框架的开发难度,从早期vue3.0刚出来的时候就可以看出来,作者也是做了权衡的,依然选择了它。对于使用者而言,没有接触TS的,无疑也是增加了上手难度的,只是本身是可以选择依然使用JS进行开发,不使用TS,本身最终还是会被编译为JS才能运行。
只是,既然框架本身都是TS的,建议项目中也尝试使用TS,当然得根据团队的实际情况。引入TS之后,项目质量真的会有所提高。

个人并没有高看TS,依然看重的是它的类型检测,完全可以把它就单纯的看做Type+JS。


回答:

Vue 官方文档的解释:

https://vuejs.org/guide/types...

A type system like TypeScript can detect many common errors via static analysis at build time. This reduces the chance of runtime errors in production, and also allows us to more confidently refactor code in large-scale applications. TypeScript also improves developer ergonomics via type-based auto-completion in IDEs.

加粗的部分就是题主所谓的“带来了什么”。


P.S. Vue2 时代其实尤大是更中意 Flow 了,尤大自己的原话是 “但是没想到 Flow 烂尾了,而 TS 整个生态越做越好,这个属于就是押错宝了”。


回答:

本质好处就是提高代码的可维护性。

以上是 为什么vue3会选择ts,或者说ts给vue3带来了什么? 的全部内容, 来源链接: utcz.com/p/937497.html

回到顶部