typescript类型

// string
let a: string;
a = 'str'

//number
let b:number;
b = 123;

//boolean
let c:boolean;
c = true

//字面量
let d: string | number
d = 'str'
d = 123

//any 表示的是任意类型,一个变量设置为any后相对于改变量关闭了ts的类型检测
let e: any;
//声明变量如果不指定类型,则TS解析会自动判断变量的类型为any
let f;
f = 10;
f = 'str'
f = true

//unknown 表示未知类型的值
//unknown 实际上就是一个类型安全的any
//unknown 类型的变量,不能直接赋值给其他变量
if(typeof e === 'string'){
    s = e;
}

//类型断言,可以用来告诉解析器变量的实际类型
/* 
语法:
    变量 as 类型
    <类型> 变量
*/
s = e as string;
s = <string>e;


//void 用来表示空,以函数为例,就表示没有返回值的函数
function fn(): void{
}



//never 表示永远不会返回结果
function fn2(): never{
}


// object 表示一个js对象
let h:object;
h = {}
h = function(){}

//{} 用来指定对象中可以包含哪些属性
//语法:{属性名:属性值,属性名:属性值,属性名:属性值}
// 在属性名后面加上?,表示属性是可选的
let j:{name:string,age?:number}
j = {name:'孙悟空'};


//[propName:string]:any  表示任意类型的属性
let k:{name:string,[propName:string]:any}
k = {name:'猪八戒',a:1,b:2}


/* 
    设置函数结构的类型声明:
        语法:(形参:类型,形参...)=>返回值
*/
let t:(a:number,b:number)=>number;
t = function (n1,n2){
    return n1+n2
}
t(1,2)



/* 
    数组的类型声明:
        类型[]
        Array<类型>
*/
//string[]表示字符串数组
let y:string[];
y = ['1','2','3']

let u:number[]
u = [1,2,3,4]


/* 
 tuple,就是固定长度的数组
    语法:[类型,类型,类型]
*/
let q = [string,strimg,strimg]
q = ['hello','abc']


/* 
    enum 枚举
*/
enum Gender {
    Male,
    female
}

let v:{name:string,gender:Gender}
v = {
    name:'张三',
    gender:Gender.Male
}



// 类型的别名
type myTYPE = 1 | 2 | 3 | 4 | 5;
let k:myTYPE
let l:myTYPE
let m:myTYPE

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值