TypeScript

  • 1、Typescript常用类型

    • 1.1类型注解

let age:number = 18

说明:代码中的** :number** 就是类型注解

作用:为变量**添加类型约束**,上述声明的age 变量,只能赋值为number 类型

 

!!!当赋值为其他类型时会报错

  • 1.2常用类型

    • 原始类型:number / string / boolean / null / undefined / symbol

    • 对象类型:object(数组,对象,函数等对象)

    • TS新增类型 联合类型、自定义类型(类型别名)、接口、元组、字面量类型、枚举、void、any

  • 1.3数组类型

// 推荐,简洁
let numbers:number[] = [1,2,3]
// 不推荐 ,麻烦,不直观
let strings:Array<string> = ['a','b','c']
  • 1.4联合类型

    需求:当数组中既有number类型,又有string类型,这个数组该如何写

let arr:(number | string)[] = [1,'a',2,'b']
解释:|(竖线)在TS中叫联合类型,(由两个或多个其他类型组成的类型,表示可以是这些类型中的任意一种,注意:这是TS中联合类型的语法,只有一根竖线,跟JS中的或 ( || ) 不同)
  • 1.5类型别名

    类型别名(自定义类型):为任意类型起别名

    使用场景:当同一类型(复杂)被多次使用时,可以通过类型别名,简化该类型的使用

type CustomArray = (number | string)[]
let arr1:CustomArray = [1,'a',2,'b']
let arr2:CustomArray = ['x','y',6,7]
解释:

1. 使用type关键字来创建类型别名
2. 创建类型别名后,直接使用该类型别名作为变量的类型注解即可
  • 1.6函数类型

    • 单独指定参数和返回值类型 (推荐使用)
// 函数声明创建
function add(num1:number,num2:number):number{
  return num1 + num2
}      

// 函数表达式创建
const add = (num1:number,num2:number):number =>{
  return num1 + num2
}

- 同时指定参数和返回值类型  (麻烦死了,没事别用)
const add:(num1:number,num2:number)=>number = (num1,num2)=>{
  return num1 + num2
}

  解释:当函数作为表达式时,可以通过类似箭头函数形式的语法来为函数添加类型。

  注意:这种形式只适用于函数表达式。

        void 类型

  如果函数没有返回值,那么,函数返回值类型就为:void

function greet(name:string):void{
  console.log('hello',name)
}
- 函数可选参数
function mySlice(start?: number,end?: number):void{
  console.log('起始索引:',start,'结束索引',end)
}
  可选参数:在可传可不传的参数名称后面添加 ? (问号)

    注意:可选参数只能出现在参数列表的最后,也就是说可选参数后面不能再出现必选参数
  • 1.7对象类型

    • 对象用法

let person:{name: string;age: number; sayHi(): void} = {
  name:'jack',
  age:19,
  sayHi(){}
}
  1. 直接使用{}来描述对象结构,属性采用属性名:类型的形式;方法采用方法名():返回值类型的形式
  2. 如果方法有参数,就在方法名后面的小括号中指定参数类型(比如 greet(name:string):void )
  3. 再一行代码中指定对象的多个属性类型时,使用 ; (分号)来分割
  4. 如果一行代码只能指定一个属性类型(通过换行来分隔多个属性类型),可以去掉 ; (分号)
  5. 方法的类型也可以使用箭头函数形式(比如: {sayHi:() => void})

- 对象可选属性
function myAxios(config:{url:string;method?: string}){
  console.log(config)
}
  可选属性的语法与函数可选参数语法一致,都使用 ? (问号) 来表示
  • 1.8接口

    • 接口用法

      一个对象类型被多次使用时,一般都会使用接口(interface)来描述对象的类型,达到复用的目的

 interface Iperson{
    name: string
    age: number
    sayHi(): void
 }
 
 let person: Iperson = {
     name: 'jack',
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值