typescript学习一一类型
程序员文章站
2024-01-20 11:56:40
...
介绍
typescript可以看做一个js的强类型超集,js代码可以完全无修改移到.ts(typescript)文件去编译。
编译
官方推荐使用npm包或者使用vscode中的typescript插件进行编译,学习的时候还可以使用在线编译来编写代码,会将你写的ts代码编译成es5的形式来展示,方便理解。
指定类型
这是typescript最有特点的特性—类型检查,指定类型后,会在赋值后进行参数类型的检查,不允许赋值其他类型,否则会报错;
参数指定类型:
Let name: string = ‘keshandian’; //指定name变量为字符串
Let age: number = 100; //指定age变量为数字
Let isBoy: boolean = true; //指定isBoy变量为布尔值
Let userInfo: object = { //指定userInfo变量为对象
name: ‘keshandian’,
age: ‘18'
}
Let list_f: string[] = [‘a’, ‘b’, ‘c’]; //数组类型的第一种写法,表示这是字符串数组
Let list_s: Array<number> = [1, 2, 3]; //数组类型的第二种写法,表示这是数字数组
Let xList: [string, number] = [‘aaa’, 12] //元组tuple,允许为数组定义多种类型
Let notSure: ant = 4;
notSure = ‘aaaaa’; //any代表可以是任意类型,不进行检查,这样做不会报错
Let undef: undefined = undefined; //指定undef变量为undefined类型
Let nul: null = null; //指定nul变量为nulll类型
functon dosome(lv: number, id: string, ){} //函数指定参数类型
函数指定参数类型类型:
// 括号{左边的 :number 代表函数返回的是数字类型
fnction add(x: number, y: number): number{
return x + y;
}
//可选参数: 在参数名后加问号 ?,必须放必选参数后面
funtion errConsole(title: string, text: string, name?: string){
//...
}
//解构参数也可以指定类型
funtion errConsole(title: string, …textArr: string[] ){
//...
}
泛型函数:
使用 T(这只是一个代表字母,也可以使用U、V、E等字母,只要在接下来能对应上就可以,参考java) 关键词来使得传入值与返回值是用一种类型,来达到重用效果。
function dosome<T>(arr: T): T{
return arr;
}