數(shù)據(jù)類型
數(shù)字類型(Number)
var num:number = 10;
字符串類型(String)
var str:string = '10'
數(shù)組類型(array)
var?arr:number[]=[1,2,3];
var?brr:Array<number>?=?[4,5,6]
元組類型(tuple)
var?crr:[number,string]?=?[1,'4']
枚舉類型(enum)
????????enum?Flag{success=1,error=0}
????????let?s:number?=?Flag.success;
????????console.log(s)
任意類型(any)
????????let?p:any?=?10;
????????p?=?'10'
null和undefined
????????var?u:undefined?|?number;
????????u?=?10;
????????var?n:null?=?null;
viod類型
函數(shù)沒有返回值
????????function?box():void{
????????????console.log("this?is?void")
????????}
????????box();????//this?is?void??
never類型
????????//?其他類型(包括null和undefined)的子類业踏,表示從未出現(xiàn)的值
????????var?e:never;
????????e?=?(()=>{
????????????throw?new?Error("錯誤");
????????})()
函數(shù)
?1.有返回值
????????????//?function?fn():string{
????????????//?????return?'5';
????????????//?}
????????????//?alert(fn());
2.無返回值
????????????//?function?fn():void{
????????????//?????alert(5)
????????????//?}
????????????//?fn();
3.定義方法傳參(無返回值)
????????????//?function?fn(name:string,age:number):void{
????????????//?????console.log(name,age)
????????????//?}
????????????//?fn("張三",23)
4.定義方法傳參(有返回值)
????????????//?function?fn(name:string,age:number):string{
????????????//?????return?name;
????????????//?}
????????????//?alert(fn("張三",23))
5.函數(shù)的可選參數(shù)(可選參數(shù)必須配置到參數(shù)后面)
????????????//?function?fn(name:string,age?:number):any{
????????????//?????if(age){
????????????//?????????return?age;
????????????//?????}else{
????????????//?????????return?name;
????????????//?????}
????????????//?}
????????????//?alert(fn("張三"))??????????
6.函數(shù)的默認參數(shù)(es5無法配置默認參數(shù))
????????????//?function?fn(name:string,age:number=30):any{
????????????//?????if(age){
????????????//?????????return?age;
????????????//?????}else{
????????????//?????????return?name;
????????????//?????}
????????????//?}
????????????//?alert(fn("張三",26))?
7.函數(shù)的剩余參數(shù)
????????????//?function?sum(a:number,b:number,c:number,d:number):number{
????????????//?????return?a+b+c+d;
????????????//?}
????????????//?alert(sum(5,5,5,5))
????????????//?三點運算符
????????????//?function?sum(...result:number[]):number{
????????????//?????var?sum:number?=?0;
????????????//?????for(var?i?=?0;i<result.length;i++){
????????????//?????????sum+=result[i]
????????????//?????}
????????????//?????return?sum;
????????????//?}
????????????//?alert(sum(5,5,6,6))
????????????//?另一種寫法
????????????//?function?sum(a:number,...result:number[]):number{
????????????//?????var?sum:number?=?a;
????????????//?????for(var?i?=?0;i<result.length;i++){
????????????//?????????sum+=result[i]
????????????//?????}
????????????//?????return?sum;
????????????//?}
????????????//?alert(sum(5,5,6,6))
8.方法的重載(同一個方法禽炬,傳入不同的參數(shù),實現(xiàn)的功能不一樣)
????????????//?function?getInfo(name:string):string;
????????????//?function?getInfo(age:number):string;
????????????//?function?getInfo(str:any):any{
????????????//?????if(typeof?str?===?"string"){
????????????//?????????return?str;
????????????//?????}else{
????????????//?????????return?str;
????????????//?????}
????????????//?}
????????????//?alert(getInfo("張三"))
????????????//?alert(getInfo(26))
9.箭頭函數(shù)(es6勤家,this指向上下文)
????????????//?setTimeout(()?=>?{
????????????//?????console.log(0)
????????????//?},?500);