TS的语法:

 1.ts中定义数组的三种方式:

const 数组名:类型[]
    const arr: number = [100,30,60,92]
const 数组名: Array<类型>   泛型  内置的泛型  后面用的多
    const arr3: Array<string> = ['a','i']
函数类型的第三种方式(只能在箭头函数和函数表达式用
type FnType = (n1: number, n2: number)=> void
const fn: FnType = (n1,n2)=>{console.log(n1+n2)}
cons fn2:Fntype = (n1,n2)=>{console.log(n1+n2)}

2.联合类型:

 需求:一个变量 可以存数字也可以存字符串类型
     ts中有一个类型推断,当变量初始化时候,默认会帮你直接推断类型
     let temp: number | string |boolean
     tem = 11     tem = 'ioio'   tem = true
 需求 以一个数组,既有数字,也有字符串
     let arr: (string | number)[] = [1,2,3,'op']
     let arr2: Array<string | number> = ['as',12]
 需求 声明一个定时器,存储定时器id
     let timeId: number | null = null 
     timeId = setInterval(()=>{
     console.log(111)
     },1000)
     

3.类型别名:

 type可以自定义类型,为任意类型起名字
     type TestArr = (number | string | boolean)[]
     const arr = [123,'ssdsd',true]
 另一种方式
     type TestItem = number | string | boolean
     const arr[] = [123,'ssdsd',true]
 通过泛型实现
     const Array<TestItem> = [123,'ssdsd',true]

4.函数类型

 给函数指定类型  本质上就是给函数参数和 返回值指定类型
 function add(uusername: string, password: string):num {
    return uusername + password
    括号后面的num是给返回值定义的数据类型 如果没有返回值就不需要
   }

5.箭头函数

  const add =(ni: number,n2: number):number=>{return n1+n2} 

6.void类型 没有返回值设置为void

const add = (ni: number,n2: number):void=> {console.log()}

7.对象类型:

写ts可以理解为在写注释 必须通过严格的格式
对象类型 就是修饰属性  和  方法 //描述属性
      type USerObj ={ name: string,age: number}
      cosnt obj: USerObj= { name: 'sd',age:12 }
//描述方法
      type USerObj ={ name: string,age: number     sayHi(username: string):void}
      要是带参数
     cosnt obj: USerObj= { name: 'sd',age:12,sayHi(usernam)   {console.log('大家好')}}
 练习
 type Studth = 
 { 
     
 name: string , 
 gender: string, 
 scrod: number
 height: number
 study():void  
 play():void

 }

8.接口类型 interface:

使用interface关键字来声明接口
声明接口后 直接使用接口名称作为变量的类型
interface Iobj {
name:string
age: number
sayHi():void
}
const obj: Iobj={
name:'zs'
age:15
sayHi(){}
}

9.元组类型 特殊的数组

 // 地图 =》经纬度
 let position: [number,numbe] = ['年纪',18]
 let [name,age]  = test

10.类型推论(没啥用 可以不管)

在ts没有明确给出类型的地方,ts类型推论会提供

1. 声明变量并初始化时

2. 决定函数返回值时

11. 字面量类型

1.字面量类型一般配合联合类型使用

2.type Gender = '男' | '女'

3.let gender: Gender = '男'

4.type Direction = 'up' | 'down' | 'left' | 'right'

5.//改变方向

6.function changeDirection(direction: Direction){
console.log('方向改变了',direction)
}
changeDirection('left')

12.枚举类型


1.定义一组命名常亮(对象,收集键值对的方式)


13:泛型

1.保证安全的前提下,让函数与多种类型一个工作,达到复用的效果

2. 希望类不写死,参数和返回值要求是同一个类型 一一对应
3. 泛型  将类型当成参数传递
4. 泛型在type上的应用
5. 用户信息返回数据类型
6. type UserRespone= {
7. msa: string
8. code: number
9. data: {
   10     name: string
   11     age: number
   12  }
   13 }
   14  type Data<Type>={
   15      msg: string
   16      code: number
   17      data: Type
   18  }

19 type User = {
20  name: string
21   age: number
22   }

23  type userRespone = Data<User> 
24 //泛型在函数上使用
25 需求  传参的类型是什么  返回的类型就是什么
26 const getId = <T>(id: T): T =>{
27  return id
28 }
29 let id1 = getId<number>(2)
30 let id2 = getId<string>('2')
31 在函数上使用泛型  命名都要遵循驼峰命名法

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值