①//string 类型,number类型
②//布尔类型(booleaan)
var flag:boolean=true;
③// 数组类型
var arr:number[]=[1,2,3]
var arr1:Array<number>=[1,2,3,4,5]
④//元组类型(tuple)(数组类型的一种)
let arr3:[number,string]=[1,''] //数组第一个是数字,第二个是字符串
⑤//任意类型(any)
var num:any=123;
num='12';
num=true;
⑥//void (没有任何类型,一般用于定义方法的时候没有返回值)
function fn1():void{
console.log('123')
}
//如果返回值,类型则为返回值的类型
function fn2():number{
return 1;
}
⑦//枚举类型(enum)
enum Flag {success=1,error=2}; //Flag是枚举的name(Flag首字母必须大写),f为1,如果success没有赋值,则打印success的下标
let f:Flag=Flag.success
⑧// null和undifined
// var num:number; 报错,输出为undifined
// var num1:undefined; 不报错
var num1:number | undefined; //最好这样写,若没有赋值就为undefined
const num2:null=null;
//一个元素可能是number可能是null可能是undefined
var data:number | null | undefined
⑨// never是其他类型(包括null和undefined)的子类型, 代表从不会出现的值,这意味着声明never的变量只能被never类型所赋值