手牵手系列之TypeScript基础类型

编程入门 行业动态 更新时间:2024-10-10 01:23:38

<a href=https://www.elefans.com/category/jswz/34/1755206.html style=手牵手系列之TypeScript基础类型"/>

手牵手系列之TypeScript基础类型

布尔类型

let bool:boolean = false
// 或者
let bool:boolean
bool = true

数值类型

let num:number = 123// 二进制
num = 0b1111011
// 八进制
num = 0o173
// 十六进制
num = 0x7b

字符串类型

let str:string
str = 'abc'
str = `数值是${num}`

数组类型

// 只能是number类型的数组
// 写法一
let arr:number[]
arr=[1,2,3]// 写法二
let arr1:Array<number>// 既可以是number类型也可以是string类型
let arr2:(number | string)[]
// 或者
let arr3:Array<number | string>
arr2=[1,"dssdsd"]

元组类型

// 必须按照设定的类型一一对应,否则报错
let tuple : [string,number,boolean]
tuple = ['abc',1,true]

枚举类型

enum Roles {SUPER_ADMIN,ADMIN,USER
}
console.log(Roles.SUPER_ADMIN) // 0
console.log(Roles.ADMIN) // 1
console.log(Roles.USER) // 2// 示例
// 场景:后台根据返回的0,1,2分别对应超级管理员、管理员、用户,使用枚举可以清楚对应
if(Roles.SUPER_ADMIN){}// 表示等于0的时候 即超级管理员进行判断
// 默认定义
enum Roles {SUPER_ADMIN = 1,ADMIN = 5,USER = 8
}
console.log(Roles.SUPER_ADMIN) // 1
console.log(Roles.ADMIN) // 5
console.log(Roles.USER) // 8
// 定义某一个进行叠加
enum Roles {SUPER_ADMIN = 1,ADMIN,USER
}
console.log(Roles.SUPER_ADMIN) // 1
console.log(Roles.ADMIN) // 2
console.log(Roles.USER) // 3// 定义中间某一个,第一个永远是0
enum Roles {SUPER_ADMIN,ADMIN=2,USER
}
console.log(Roles.SUPER_ADMIN) // 0
console.log(Roles.ADMIN) // 2
console.log(Roles.USER) // 3
// 根据索引值,获取对应的值
enum Roles {SUPER_ADMIN,ADMIN=2,USER
}
console.log(Roles[0]) // SUPER_ADMIN
console.log(Roles[2]) // ADMIN
console.log(Roles[3]) // USER

any类型

let value:any
value = true
value = 'abc'
value = 123 let value:any[] = ['abs',123,false]

void类型

// void表示没有返回任何类型的值
const consoleText = (text:string):void=>{console.log(text)
}let v : void
v = undefined
v = null

null、undefined类型

如果是undefined、null类型,则只能赋值undefined、null。但是如果是其他类型,则可以赋值undefined与null。

// 如果是undefined类型,则只能赋值undefined
let u : undefined
u = undefined// 如果是null类型,则只能赋值null
let u : null
u = null

never类型

// 表示永远不存在的类型
const erroeFnc = (message:string):never => {throw new Error(message)
}
// 如果是死循环,没有返回值
const inifiniteFunc = ():never=>{while(true){}
}

类型断言

const getLength = (target:string|number):number=>{if((<string>target).length||(target as string).length===0){return (<string>target).length}else{    return target.toString().length}
}// 类型断言书写的两种方式
1、<string>target 尖括号形式
2、target as string as形式

更多推荐

手牵手系列之TypeScript基础类型

本文发布于:2024-02-07 08:35:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754848.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:手牵手   类型   基础   系列之   TypeScript

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!