//基本数据类型
let num1 = 25;
let flo = 25.5;
let hex = 0xf000;
let binary = 0b1001;
//...
//不能存储非原有的类型数据 eg:num = '25'
//ts 原型 any表示任意类型
let num2:number = 25
//数组 元组 枚举
let names:Array<string> = ['bobx','singer'];
let numbers:number[] = [1,5,2,5];
console.log(names);
//元组
let colors:[string,number] = ['hello',99];
//枚举
enum Color{
Black,
Yelllow,
Red
}
let mycolor:Color = Color.Red;
console.log(mycolor);
//函数 :void表示没返回值
function returnValue():number{
return 1;
}
//object &type
let data:{name:string,age:number} = {
name:'box',
age:12
}
//复杂对象类型
let complex:{data:number[],myfunc:(item:number)=>number[]} = {
data:[1,2,54,1],
myfunc:function(item:number):number[]{
return this.data;
}
}
//union type 检查类型 null undefined never
//union type 可选择类型
let unionType:number | string | boolean = 12;
//检查类型
let checkType = 10;
if(typeof checkType == "number"){console.log(232)}
//null , undefined
let mynull = null;
mynull = undefined;
//never never类型是任何类型的子类型,也可赋值给任何类型;然而,没有类型是nerver的子类型
//或可以赋值给nerver类型(除本身)。即使any也不可赋值给never.通常表现为抛出异常或无法到终止点(eg 无限循环)
function thErr(message:string):never{
throw new Error(message);
}