关于ts的类型和用法

ts是什么?

简单来说ts是js的一个超级集合(js是一个弱类型的语言,在写法上有很大的随意性,而ts就是js弱类型转化成强类型的一种,所以ts就是一种强类型的语言)

那么ts都有什么类型呢?

/数字类型
let num:number = 100;
//num = '45';
//字符串类型
let src:string = 'fdfas';
//src = true;
//字符串类型
let add:boolean = true;
//add = 123
//字面量
let a:11 
//a = 12;
//任意类型
let c:any;
//不知道类型
let d:unknown;
//void函数返回值:没有返回值    有返回值返回值是啥类型就是啥类型

关于上述代码中有一些类型上的区别我在下面给大家一一解释

首先1.unknow和any的区别?

unknow不能随便赋值给其他的类型使用 any可以但是不建议使用,使用不当容易污染其他变量导致变量类型模糊。

function show(n:string,m:string){
    return n+m
}
//无返回类型
function show1(n:string,m:string):void{
   
}
//数组  在强类型语言上数组一般都是一种类型。当然也可以写多种  在前端的数组在后端一般被叫做集合
let arr:Array<string> = ['1','2'];
let arr1:number[] = [11,22,33];
//元祖   限定个数不能越界
let aa:[string,number] = ['11',22]
aa.push('12')  //可以push进去但是只能是规定好的数据类型   且不能通过下标进行添加
//enum   枚举   定义枚举类型

//定义好
enum sex{
    nan,
    nv
}
let obj:{
    name:'zhangsan',
    sex:sex
} = {
    name:'zhangsan',
    sex:sex.nan
}

ts里还有一些元祖  ,枚举   等类型在真正的工作中我所用到的不是很多,大家想了解可以去别的博主哪里去看看,每个人的理解不同

接口和泛型

在这里我所说的接口不是前端写的接口而是ts的接口(就只是字面量)他主要与泛型一起连用,直接上代码:

//接口  这是一个对象接口
interface Person{
    name:string,
    age:number
}
let p:Person = {
    name:'zhangsan',
    age:50
}
//方法  函数  也可以是viod
function fn(n:Person):Person{
    console.log(n);
    return n;
}
//泛型    在定义的时候我只确定类型的个数  在我调用的时候我在确定类型
function fn1<m,v>(u:m,t:v){

}
fn1<string,number>('123',123);
fn1<number,boolean>(12,true);

这样的强类型写法博主我一开始写的时候很反感也许是用js用的习惯了,与工作比起来博主我还是更改了自己的写法,人生就是这样,希望我的讲解能够帮助正在奋斗路上的你。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值