TypeScript基本类型的了解

数据类型:

number,string,boolean跟js类同

字面量

它就是值本身及值本身的类型

let a: 10
a = 10;
a = 125;
a = "123";

any表示任何类型,可以任意赋值

一个变量赋值为any后相当于对该变量关闭了ts的类型检测
在使用ts时候不到万不得已则不建议使用any

let c: any
c = 2
c = true
c = "2"
// 声明一个变量如果不给他赋值则相当于隐式的给当前变量赋值成了any
let d;
d = 2
d = "2"
d = true

unknown表示未知的类型

let e:unknown
let s : string
// e = 10
// e = "10"
// e = true
// e = d
// s = e
// unknown实际上就是一个类型安全的any
// unknown类型的变量不能直接赋值给其他的变量
// 1. 可以通过对e变量类型的判断进行赋值
e = 'hello';
if(typeof e === "string"){
    s = e
}
 2. 或者使用类型断言
// 告诉编译器e就是字符类型可以被s使用
s = e as string
// 当遇到一个类型不确定的变量时能不用any就不用any,推荐使用unkonwn       

当把一个any类型的变量赋值给unknown之后也会变成any任意类型

但是unknown类型的变量直接赋值给别的变量则报错不会影响到其他的变量

void代表函数没有返回值

function fn1():void{
    //return null|undefined//不报错
    // return 1323等类型则报错
}

never永远不会有返回值,没有任何返回值

使用场景:用于异常抛出,返回报错

// function err():never{
//     throw new Error("报错了!");
// }
// void和never的区别是:
// void有null或者undefined作为返回值
// never是没有任何返回值

object表示一个js对象

一般不常用,因为js中一切皆为对象所以,object这个类型太广泛不好限制

let a :object
a = {}
a = function (){}

{}用来指定对象中可以包含哪些属性

// age?:number属性名后加问号表示属性是可选的,有也可以没有也可以
let b: {name:string,age?:number}
b = {name:"孙悟空",age:22}

[propName:string]: any表示任意类型的属性

// [propName:string]: string表示任意类型的字符串属性
let c: {name:string,[propName:string]: string}
c = {name:"猪八戒",sex:"555",job:"4656"}

Array

array的类型声明方式:类型:[],Array<类型>

// string[]表示字符串数组
let d: string[]
d =["1323","住宿等我","dwad"]
// number[]表示数字数组
let f: number[]
f = [1,2,3,6,54]
// 可以指定未知的类型或者多个类型Array<unknown>/any
let g: Array<unknown>
g = ["wewe",122,true]

Tuple元组就是固定长度的数组

// 语法:[类型,类型,类型]
let h: [string,string]
h = ["www",'www']

enum枚举

enum Gender{
    boy=1,
    girl=0
}
let i:{name:string,gender:Gender}
i = {
    name:"小明",
    gender:Gender.boy
}
console.log(i.gender===Gender.boy)

// 类型的别名
type myType = 1|2|3|4|5 

let k: myType
let l: myType
let m: myType
k = 5//有则不报错
// k = 6类型中无6则报错

| &运算符

|可以用来连接多个类型{联合类型}

let b:number|boolean
b = 2
b = true

&表示并且的意思

表示名字必须是字符串年龄必须是数字类型

// let a: {name: string},{age:number}
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上流星&洒下星辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值