!
也想出现在这里? 联系我们
广告区块

TypeScript 基础类型

TS的基础类型几乎和JS的类型一致,同样包含string,number,boolean,array…等

声明字符串

let str: string = "hello ts" str = "thanks" 

声明布尔值

let boo: boolean = true boo = fales 

声明数字类型

let num: number = 1 num = 2  

声明数组

//声明数字型数组 
let numArr: number[] = [1,2,3,4] 
//用泛型声明 
let numArr: Array<number> = [1,2,3,4]  
//声明字符型数组 
let strArr: string[] = ['1','2','3'] 
//用泛型声明 
let serArr: Array<string> = ['1','2','3'] 

元组

//元组类型允许表示一个已知元素数量和类型的数组 
let arr :[number, string] 
arr = [18,'wudafei']  //正确 
arr = ['wudafei',18]  //错误  元素类型顺序不一样,导致报错。  
//向元组内push元素 
arr.push('abc') 
console.log(arr) //[18, 'wudafei', 'abc']  
//联合类型 
let arr: <number | string | object> = [12,'abc',{},12,'abc',{}] //里面可以包含多个这种类型的值 

枚举

//enum类型是对JavaScript标准数据类型的一个补充。 
enum className = {one, tow, three, four} 
let xiaomin = className.one 
console.log(xiaoming) // 0 得到的是className的索引。  
xiaoming = className[0] // enum 下标默认从0开始 
console.log(xiaoming) // one 通过下标找到对应的值  
//也可以给enum 里面的值设置索引 
enum classTag = {one = 1, tow, three}
console.log(classTag) // {'1':one,'2':tow,'3':three} 下标就从1开始 

any

//不清楚类型的变量指定的类型,这时候就可以使用any,any表示任意类型。 
let anyValue: any = 'any' // 这个可以赋任意类型的值 
anyValue = 14 
anyValue = true  
// 同样可以定义到数组上 
let anyArr: any[] = [1,'2',true] 

void

//void和any类型刚好相反,不表示任何类型,当一个函数没有返回值时,通常用void表示 
function fn(): void {  
console.log("函数没有返回值") 
}  
// 单独声明void类型的变量没有太大的意义,因为void只能赋值undefined和null 
let voidValue: void = undefined voidValue = null 

null 和 undefined

// null和undefined类型的值就是它们本身 
let nullValue: null = null //赋其他值就会报错 
let undefinedValue: undefined = undefined //赋其他值就会报错  
//null和undefined是其它任意类型的子类,也就是说可以将它赋值给任意类型 
let numValue: number = undefined 
numValue = null 

never

//never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型; 
function fn(message: string): never {
throw new Error(message)
}  
// 类型推断出返回值为never类型 
function fn() {
return error('sometion failed')
}  
// 返回never的函数必须存在无法达到的终点 
function fn(): never {
while(true) {
......
}
} 

object

//object表示非原始类型,也就是除number,string,boolean,symbol,null或undefined之外的类型。 
let obj: object = {} //ok 
obj = [] //ok 
obj = 18 //error 
obj = 'wudafei' //error  

类型推断

// 当一个变量ts语法识别有多种类型时,这个时候就需要我们来告诉TS,这个是什么类型。 
//类型推断有两种方法 1.<>法, 2.as 方法
//<>法 
let strValue: any = 'this is string'
let valueLength = (<string>strValue).length  
//as法
let strValue: any = 'this is string'
let valueLength = (strValue as string).length 
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索