TypeScript的基础

TypeScript的基础

类型

  • any 基本不用使用(关闭了ts的校验了)

    • 在变量不赋值则声明的是any(隐式any) 赋值后声明的是值的类型

    • any类型可以赋值给任何类型

     let a:any;
     a=10;
     let b:string;
     b=a;
     //此时赋值成功,所以any可以赋值给任何类型
    
  • unkown

    • 自己可以赋任何值 但是不能赋值给其他类型
    • 实际是类型安全的any(不能赋值给其他变量)
    • 如何赋值
      • 类型判断if(typeof e===“string”){ 此处进行赋值}
      • 类型断言(s=e as string )
      • s=<string>e;
  • void

    • 函数没有返回值
    • 可以return;(空 undefined)
  • never

    • 永远没有返回结果(一般用于报错)
  • object

    • //只是指定对象
      let b:object;
      //指定对象里面具体有什么(常用)
      let a:{name:string}
      //属性名后加问号 表示这个属性可选 但是如果有则用其类型
      let c:{name?:string}
      c={}//没错
      c={name:"张三"}
      c={name:123}//类型错误
      //除了必有属性还有未知属性
      let d:{name:string,[propName:string]:any}
      
  • function

    • //使用键头函数这个格式来设置结构的类型声明
      let b:(a:number,b:string)=>number;
      
    • 语法 let 函数名:(形参:类型)=>返回值类型;

  • array

    • 字符串数组
    let a:string[];//数组里面存的是string
    let b:array<string>;//第二种写法
    
    • 对象数组
    let obj:{name:string,age:number};
    let arr:obj[];//数组里面存放的是对象 对象类型是obj的类型
    
  • 元组(新增)

    • 数组里面值是固定的
    let tuple:[string,string];//有两个
    
    
  • 枚举enum(新增)

enum Gender{
    Male,
    Female
}
let i:{name:string ,gender:Gender}
i={name:"张三",gender:1}
console.log(i.gender===Gender.Female)//ture
  • &(两个都满足)
  • |(满足其中一个)
  • 类型的别名
type myType=string;
let a:myType;//a的类型为string
type typea=1|2|3|6;
let c:typea;//c的类型为typea
let b:typea;//c的类型为typea

泛型

  • function fn<T>(a:T):T{ return a};
  • fn(10)
  • fn<string>(“hello”)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值