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
方法装饰器
属性装饰器
稍微改造一下使其可以接收参数