ts的自学之路(未完)

ts的好处:

代码出现类型不对或者其他错误后能立刻显示出来。在写对象的方法的时候能自动补全等等........

Ts的安装:

需要安装node 运行环境和ts,安装好后通过tsc demo.ts  来对ts文件进行编译,编译出一个js文件后通过 node demo.js 来运行得出结果。当然这个流程是已经比较复杂,可以安装npm install -g  ts-node 来辅助编译。 ts-node demo.ts

TS基础语法

静态类型比动态类型的好处在于剥夺它的灵活性,使它更具有规范性。

  • 静态类型

基础类型:let teacherName: number = 12 ; let teacherName: string = ‘我是字符串’ ;

let teacherName: number | string = ‘现在是字符串以后有可能是数值类型’

对象类型:let teacherName: { name: string,age: number } = { name: ‘张三’, sex: 15};

数组类型:let teacherName: number[] = [1,2,3];let teacherName: ( number | string )[] = [1,’2’] ; let teacherName:  { name: string,age: number }[] = [{name: ‘张三’,age: 15}] ,如果觉得数组对象的类型定义比较麻烦还可以用类型别名的方式(type alias) ,  type User = {  name: string,age: number };   let teacherName:  User[] = [{name: ‘张三’,age: 15}]

函数类型:let teacherName: () => number = ()=>{ return 32 }。

  • 类型推断及注解

类型推断:由ts 进行数据类型的推算得出类型(函数的形参不能给推算出)

类型注解:由程序员来定义变量的类型

三、函数类型

函数结构: let teacherName = firsName(1,”2”)        

Function firsName (i: number, s: string ): number { return ‘这里需要返回number 类型’ }

Void类型:  function firsName(): void   ;  代表没有返回值

Never类型: 用于抛出错误,它永远无法让那个函数体执行完

  • interface 接口

在对象类型重复性比较高的时候,可以定义接口来使用。例如:interface User { name: string ,age: number }          function A ( user: User ): { name: string, age: number } {} ,看到这样就觉得跟类型别名有点像,区别不大。当有一个类型不明确是否可有可无的情况下 ,可以在接口 类型里面写 age?: number ,这样就不会报错,还可以写为[propName: string] :any,意思是允许任意添加属性个数

注意:1、当函数通过字面量的形式传递对象值的时候,ts就会进行强效验,接口里面不能写 age?: number,如果需要就只能写 [propName: string] :any。2、接口可以继承方法,在原来已有的类型方法上进行继承。Interface Teacher extends User{}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值