> 文章列表 > 初学ts(一)

初学ts(一)

初学ts(一)

6 声明文件 axios.d.ts  d(declarate 声明) 这种文件 没有逻辑代码 只有声明

5 泛型

(1)function add<T>(arg:T):T{  // 约束传入参数 类型 和 返回值类型一致 ;如果使用:any只能确        保传入和返回值可以是任意类型

        return arg

        }

(2)泛型约束(当函数里面使用了length 入参必须是含有length的 那么就要在初始化T的时候 给他一个继承)

interface hasLength{

  length:number

}

function wraitLength<T extends hasLength>(arg:T):T{

  console.log(arg.length)

  return arg

}

4 enum 

普通enum会在编译js 的时候 将逻辑编入,enum 可以反向推论,常量enum 会 将结果编入 提高性能

常量emun 

const enum colors {

red:'red',

pink:'pink'

}

3 联合类型union types 、 类型断言 type assertion、 守卫guard

联合类型:let a = number | string;

类型断言 function add(x:number | string):number{

let x  as string;// 把x 当做  并不是类型转换

return x.length

}

 守卫guard  其实就是定义变量的时候 就确定了类型

2、函数 :

function a(x:number,y:number):number{

        return x + y

}        

等同于 

let a2(x:number,y:number)=>number =a (在interface 中 定义一个对象 就要使用这种)

interface cc{

 a:(x:number,y:number):number

}

1、 interface (接口) :用来描述和约束对象解构的