//字符 var str:string = "124"; //数字 let a:number = 1; //布尔 let b:boolean = false; //数组 let c:number[] = [1,23,23]; let d:Array<number> = [1,23,45]; let arr:any[] = ['1',2,true]; //元祖类型 let e:[string,number,boolean] = ['2',4,true]; //枚举类型 enum Flag { success = 1, error = -1 } let f:Flag = Flag.success; //如果枚举类型不赋值,默认为索引值。 enum Color { red, blue, green } let g:Color = Color.blue;//1 //如果枚举类型某一个有值,后一个值为其加1。 enum Color2 { red, blue = 5, green } let h:Color = Color.green;//6 //any任意类型 //用处:可以访问他的任何属性,比如数组的属性,数字的属性等 var oBox:any = document.getElementById('box'); oBox.style.color = 'red'; //null/undefined类型(其他类型never的子类型) //let num:number; //console.log(num)//此时会报错,在赋值前使用了变量“num”。ts(2454) let num2:number|undefined; console.log(num2) //有时会出现一个变量有可能是数值,又可能是null,有可能是undefined,此时: let num3: number | undefined | null; //void表示没有任意类型,一般用于定义方法的时候方法没有返回值。 function fuc():void{ console.log(111) } //never:是其他类型(包括null和undefined)的子类型,代表从不会出现的值。这意味着声明never的变量只能被never类型赋值。 let i:never; i=(()=>{ throw new Error('错误'); })() //3.1定义函数 function run():string{ return '123'; } var fun2 = function():number{ return 123 } function getInfo(name:string,age:number):string{ return `${name}`; } //3.2方法可选参数 // es5中方法的实参和行参可以不一样,但ts中必须一样,否则需配置可选参数 // 可选参数,必须配置在参数的最后面 function getInfo2(name:string,age?:number):string{ return `${name}`; } //3.3默认参数 function getInfo3(name:string,age:number=20):string{ return `${name}`; } //3.4剩余参数 function sum(a:number,...result:number[]):number{ let sum = 0; for(let i = 0;result.length;i++){ sum += result[i]; } console.log(a)//1 console.log(result)//[2,3,4] return sum } sum(1,2,3,4) //3.5函数重载 //3.6箭头函数