TS---TypeScript
TypeScript:
TypeScript是JavaScript的超集。(比JS多了一个类型系统)
与JS相比的优势:
1>.类型化思维方式,使得开发更加严谨,提前发现错误,减少改Bug时间
类型注解:是一种为变量添加类型约束的方式。约定了什么类型,就只能给变量赋什么类型的值。
2>.类型系统提高了代码可读性,并使维护和重构代码更加容易
3>.补充了接口、枚举等开发大型应用时JS缺失的功能
类型:
枚举类型(enum)
-
enum Flag (success=1,error=2)
let f:Flag = Flag.error;
console.log(f) //如果没有给这个值赋值,则打印的是下标 -
任意类型(any) 变量可以为任意类型 var num:any =123; -
never类型:是其他类型(包括null和undefined)的子类型,代表从不会出现的值 声明never的变量只能被never类型所赋值
var a:undefined;
a=undefined
- -元祖类型(tuple) :属于数组的一种, 可以给数组中任意位置指定类型
let arr:[number,string] = [123,'this is ts']
函数重载:通过为同一个函数提供多个函数类型定义来实现多种功能的目的
function getInfo(name:string):string;
function getInfo(name:number):number;
function getInfo(name:any):any{
if(typeof str==='string'){
return '我叫:'+str;
}else{
return '我的年龄是'+str;
}
}
//如果console.log(true) 则会报错,为了规范写法,规定传入的值得类型
箭头函数:
主要在setTimeout中,把参数从functiong改为箭头函数
箭头函数中的this指向上下文
|