typescript的基本类型使用

//字符
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箭头函数
原文地址:https://www.cnblogs.com/kaiqinzhang/p/12875128.html