关于TS和JS的区别

JavaScript045

关于TS和JS的区别,第1张

TS是JS的一个超集,TS包含了JS的库和函数,TS上可以写任何的JS,调用任何的JS库。ts需要静态编译,它提供了强类型与更多面向对象的内容。

1、TypeScript 引入了 JavaScript 中没有的“类”概念

2、TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中。

3、js没有重载概念,ts有可以重载

4、ts对比js基础类型上,增加了 void/never/any/元组/枚举/以及一些高级类型

1、装饰器是什么?

装饰器是一种特殊类型的声明,他能够附加到类声明、属性、方法、参数上,可以修改类的行为。

通俗的讲,他是一个 方法 ,可以注入到类、属性、方法、参数上,用于 扩展 类、属性、方法、参数的功能。

是ES7标准特性之一。

2、装饰器分类以及执行顺序

属性装饰器 >方法装饰器 >参数装饰器 >类装饰器

如果有多个同样的装饰器,他会先执行后面的。

范例,HelloWorld.vue

使用ts开发时如果要使用第三方js库的同时还想利用ts诸如类型检查等特性就需要声明文件,类

似 xx.d.ts

同时,vue项目中还可以在shims-vue.d.ts中对已存在模块进行补充

npm i @types/xxx

装饰器用于扩展类或者它的属性和方法。@xxx就是装饰器的写法

常见的有@Prop,@Emit,@Watch

具体使用见文章开头的例子

vuex-module-decorators 通过装饰器提供模块化声明vuex模块的方法,可以有效利用ts的类型系

统。

安装

根模块清空,修改store/index.ts

定义counter模块,创建store/counter

装饰器是工厂函数,它能访问和修改装饰目标。

类装饰器,07-decorator.ts

方法装饰器

属性装饰器

稍微改造一下使其可以接收参数