ts基础类型和类型断言

// 1布尔类型

let bool:boolean

bool=true

// 数值类型(支持多种进制)

let num:number

num=1;

num=0b1111011

num=0o173

num=0x7b

// 字符类型

let str:string

str='22'

str=`${bool}333`

// 数组

let arr:number[]

arr=[2]

// 写法2

let arr1:string[]

arr1=['33','333']

let arr2:(string|boolean|number)[]

arr2=[3,true,'ss']

// 元组类型(长度和类型必须一一对应)

let arr3:[string,number,boolean]

arr3=['22',3,false]

// 枚举变量

enum Roles{

    SUPER_ADMIN,

    ADMIN,

    USER

}

// var Roles

// (function (Roles){ Roles[Roles['SUPER_ADMIN']=0]="SUPER_ADMIN"

//     Roles[Roles['ADMIN']=1]="ADMIN"

//     Roles[Roles['USER']=2]="USER"

// }(Roles||Roles={}))

// any类型

let value:any

value='abc'

value=123

value=false

value=[1,2,'33']

let arr4:any[]

// void(可以赋值为undefined和null)

const consoleText=(text)=>{

    console.log(text);

}

let v:void

v=undefined

v=null

// null 和undefined(除了(never)是所有类型的子类型,可以赋值给任何类型)

let u:undefined

u=null

let n:null

n=undefined

// never类型(永远没有结果的函数)

let errorFunc=(message:string):never=>{

    throw new Error(message)

}

errorFunc=()=>{

    while(true){}

}

// obj类型(内存中地址的引用)

let ob1={

    name:'jarry'

}

let ob2=ob1;

ob1.name='lixing'

function getObject(obj:object):void{

    console.log(obj)

}

// 类型断言(jsx语法中不仅支持 as 不支持(<string>target))

const getLength=(target:(string|number)):number=>{

    if((target as string).length||(target as string).length===0){

        return (target as string).length;

    }else{

        return target.toString().length;

    }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容