基本类型实例
TypeScript分文基本数据类型和引用数据类型
TypeScript基本类型有:any 类型、number 类型 、boolean 类型 、 数组类型、元组类型、enum 枚举类型、void 类型、null 类型、 undefine 类型、 never 类型
基本数据类型
// any类型:允许被赋值为任何类型 let anyArr:Array<any> = [999,'2222',true,undefined] console.log(anyArr) // [ 999, '2222', true, undefined ] // number类型 let numberArr:Array<number> = [111,222,333] console.log(numberArr) // [ 111, 222, 333 ] // boolean类型 let booleanArr:Array<boolean> = [true,false,true,true] console.log(booleanArr) // [true,false,true,true] // 数组类型 let arr:Array<string> = ['fffs','ttt','pppp'] console.log(arr) // ['fffs','ttt','pppp'] //元组类型: 合并不同类型的对象 let x:[boolean,string,number,any] = [false,'zs',21, null] console.log(x) // [false,'zs',21, null] //enum 枚举类型: 使用枚举我们可以定义一些带名字的常量。 使用枚举可以清晰地表达意图或创建一组有区别的用例。 TypeScript支持数字的和基于字符串的枚举。 //数字枚举,Up初始化为5,其余的成员从5开始自动增长,不定义则默认为0 enum Direction { // Up, Up = 5, Down, Left, Right } console.log(Direction.Up,Direction.Left,Direction.Right) // 5 7 8 //在一个字符串枚举里,每个成员都必须用字符串字面量,或另外一个字符串枚举成员进行初始化。 enum tyNum { Up = 'UP', Down = 'Down', Left = 'Left', // Right , // 报错 Right = 'Right', } console.log(tyNum.Up,tyNum.Left,tyNum.Right) // UP Left Right // void类型:空类型,方法没有返回值 function lianxi(): void { console.log('找食物') // return 'ffff' //报错 } lianxi() // 找食物 //null, undefined let s:null = null let d:undefined = undefined console.log(s,d) //null undefined //never类型: 一个从来不会有返回值的函数,一个必须抛出错误的函数 //let foo: never = 123; Error: number 类型不能赋值给 never 类型 function bar():never { throw new Error('Throw my hands in the air like I just dont care') } let foo:never = bar() console.log(foo) // error Throw my hands in the air like I just dont care
引用数据类型
// 引用类型 let zhangsan = { name: 'zhangsan', age: 21, website: 'zhangsan.com', prossWork: function() { console.log('zhangsan正在学习') } } console.log(zhangsan.name) zhangsan.prossWork() /* * 给数组赋值 */ // 字面量赋值法 // 定义一个空数组,数组容量为0 let arr1:number[] = [] // 直接给数组赋值 let arr2:number[] = [1,2,3,4,5,6] //定义数组的同时给数组赋值 let arr3:string[] = ['zhangsan','张三','wangwu'] // let arr3:Array<string> = ['zhangsan','张三','wangwu'] let arr4:Array<boolean> = [true,false,true] console.log(arr1,arr2,arr3,arr4) // 值错误类型必须相同 let arr5:number[] = [1,2,true,'ttt'] console.log(arr5) // 构造函数赋值法 /* let arr1:number[] = new Array() // 下面arr2四种对应方式等同 // let arr2:number[] = new Array(1,2,3,4,5) // let arr2:Array<number> = new Array(1,2,3,4,5) // let arr2:number[] = [1,2,3,4,5] let arr2:Array<number> = [1,2,3,4,5] let arr3:Array<string> = new Array('wu','zs','ls') let arr4:Array<boolean> = new Array(true,false,false) console.log(arr1, arr2, arr3, arr4); */