手牵手系列之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形式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值