//字符
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箭头函数