基本数据类型
字符串
let str:string = 'test' console.log(str) //test
数值
let num:number = 1 //支持二、八、十六进制 console.log(num) //1
布尔
let bool:boolean = true console.log(bool) // true
undefined
let u:undefined = undefined console.log(u) // undefined
null
let n:null = null console.log(n) // null
undefined 和 null 可以作为其他类型的子类型来赋值。
let num1:number = undefined let num2:number = null console.log(num1,num2) //如果代码提示工具显示报错,则需要将tsconfig.json中严格模式关闭
注意:
声明的变量在限制数据类型后,只能赋值相对应的数据类型 ps: let str:string = 'test' str = '米耀华' √ str = 1 ×
数组
// 定义方式一 数据类型[] let arr1:number[] = [1,2,3,4,5] console.log(arr1) // 定义方式二(泛形) Array<数据类型> let arr2:Array<number> = [1,2,3,4,5] console.log(arr2)
元组
// 元组 // 被定义的时候已经决定了数组参数的数据类型 let arr3:[string,number,boolean] = ['test',1,true] console.log(arr3)
枚举类型
// 枚举类型 枚举类型中每个数据值都为元素,每个元素都有自己的编号【默认为0】,编号是依次递增的 enum Color { red=2, //可以手动更改他的编号 green, //3 blue //4 } let color:Color = Color.red console.log(color) //2
any类型
// any类型 不检查数据类型[可以为任何数据类型] 都可以通过代码编译阶段不报错 let str1:any = 'test' str1 = true console.log(str1) let arr:any[] = [1,'test',true] console.log(arr) //[1, 'test', true] // any类型的坏处 console.log(arr[1].split('')) //arr[1]为字符串test可以调用split方法来分割 // console.log(arr[2].split()) //arr[2]为布尔值不可调用split 会报错,但是会正常编译
void类型
//void类型 表示没有任何数据类型,通常为一个函数没有返回值, void只能返回null或undefined function fn():void{ console.log('fn') // return 'test' //报错 void表示没有任何数据类型 他只能返回null或undefined // return null // return undefined } console.log(fn()) let vo:void = 'test' //报错 void只能赋值null或undefined console.log(vo)
object类型
// object类型 // data为object 函数fn2返回值为object function fn2(data:object):object{ // console.log(data) return data } const t = new String('test') console.log(fn2(t)) console.log(fn2({}))
联合类型
// 联合类型 表示一个值可以去多种类型,类型中间用 | 隔开 function getUserName(x : string | number) { return x } // 可以传入多个类型的参数 console.log(typeof getUserName('111')) console.log(typeof getUserName(111))
类型断言
// 类型断言 // 语法1: <> // 语法2: as function getString (x:string | number) :number { // return x.toString().length // 判断x.length是否为true,为true则代表x是字符串类型 if((<string>x).length){ return (x as string).length }else{ // 否则将x转为字符串类型 return x.toString().length } } console.log(getString('456111111')) console.log(getString(456111))
类型推断
// 类型推断 let str11 = 'test' //string // str11 = 111 //error console.log(str11) let str22; // any类型 str22 = 'test22' str22 = 22222 console.log(str22)
还没有评论,来说两句吧...