从项目中由浅入深的学习vue,微信小程序和快应用 (1)
从项目中由浅入深的学习react (2)html
为何会有TS? 你们有没想过这个问题,缘由是JS是弱类型编程语言,也就是申明变量类型能够任意变换。因此这个时候TS出现了。
TS 是 JS 的超集,也至关于预处理器,本文经过一个template项目来让你快速上手TS。
vue-ts-template , 欢迎starvue
1.vue 2.vue-cli3 3.vue-router 4.vuex 5.typescript 6.iconfont
技能点 | 对应的api |
---|---|
vue-class-component | 是vue官方提供的,暴露了vue和component实例 |
vue-property-decorator | 是社区提供 深度依赖vue-class-component拓展出了不少操做符@Component @Prop @Emit @Watch @Inject 能够说是 vue class component 的一个超集,正常开发的时候 你只须要使用 vue property decorator 中提供的操做符便可 |
vue-property-decorator暴露的APIreact
API | 做用 |
---|---|
@Component | 注册组件 |
get | 相似vue的computed |
@Prop,@Emit | 组件传值 |
@Watch | 监听值变化 |
@Privde,@Inject | 对应privde和inject 高阶组件用法,做用是多级父组件传值给子 |
@Model | 相似vue的model |
数据类型 | any(任意类型); number; string, boolean; 数组:number[]或new Array(项的数据类型相同); void返回值类型; null; undefined; never(从不出现值); 元祖(比数组强大,项的类型能够不一样); 接口:interface关键字; 对象:相似JS的object; 函数:function声明; 类:class关键字,包括字段,构造函数和方法 |
变量声明 | let [变量名] : [类型] = 值, 必须指定类型 声明array,let arr: any[] = [1, 2] |
运算符,条件语句,循环 | 同JS |
函数 | 声明同JS,形参必须指定类型,由于形参也是变量 |
联合类型 | 经过竖线声明一组值为多种类型 |
命名空间 | namespace关键字 |
模块 | import和export |
访问控制符 | public,private(只能被其定义所在的类访问)和protected(能够被其自身以及其子类和父类访问) 默认public,是否是有点Java的味道 |
1.怎么在项目手动配置ts?
vue+ts项目配置git
2.接口和类的区别?
接口只声明成员方法,不作实现 ,class经过implements 来实现接口
ts中接口和类的区别github
3.接口和对象的区别?
接口是公共属性或方法的集合,能够经过类去实现;
对象只是键值对的实例vue-router
4.类class和函数的区别?
类是关键字class,函数是function
类能够实现接口vuex
5.接口实现继承方法?vue-cli
interface Person { age:number } interface Musician extends Person { instrument:string } var drummer = <Musician>{}; drummer.age = 27 drummer.instrument = "Drums" console.log("年龄: "+drummer.age) console.log("喜欢的乐器: "+drummer.instrument)