TS基础语法、数据类型
TypeScript 是一种给 JavaScript 添加特性的语言扩展。增加的功能包括:
-
类型批注和编译时类型检查
-
类型推断
-
类型擦除
-
接口
-
枚举
-
Mixin
-
泛型编程
-
名字空间
-
元组
-
Await
TypeScript 由以下几个部分组成:
-
模块
-
函数
-
变量
-
语句和表达式
-
注释
数据类型:{ 基本数据类型,复杂数据类型 }
Number、String、Boolean、数组(Array)、Symbol、元组(Tuple)、枚举(Enum)、 联合类型、接口(interface)、Object、Null、Undefined、Never、Any、Void。
元组:元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。比如,你可以定义一堆值分别为 String 和 Number 类型的元组。
any:有时候,我们想要为那些在编程简短还不清楚类型的变量指定一个类型。这些值可能来自于动态的内容,比如来自用户输入或第三方代码库。这种情况下,我们不希望类型检查其对这些值进行检查二十直接让它们通过编译阶段的检查。那么我们可以使用 any 类型来标记这些变量。
void:void 类型与 any 相反,它表示没有任何类型。当一个函数没有返回值时,你通常会见到其返回值类型是 void 。
let list: Array<number> = [1,2,3]; //number类型的数字,属于数组泛型 let num:number = 0; //number let arr: number[] = [3,7,5]; //number类型的数字 let arrString: string[] = ['ff','dd','aa']; //string类型的数组 let arr:[number,string] = [0,'1']; //元组,各元素的类型不必相同。 let user:{name:string,age:number} = {name:'Jack',age:19}; interface Person { //interface 接口,定义Object的组合,让不同Object使用。 name:string, age:number } let user1:Person = { name: 'Marry', age:20 } let user2:Person = { name:'sona', age:22 } function fn():void{ // void 无返回值时使用 console.log('123 :>> ', 123); } let arr2:number[] = [10,20,30] //数组解构 let [num1,num2] = arr2 let dongwu = { //对象解构 laoshu:'emm~', laohu:'muo~' } let {laoshu:smallAnimal,laohu:bigAnimal} = dongwu function add([x,y]):number { //函数写法 return x + y } add([10,20]) function sum(...args:number[]):number { //数组展开运算符 let ret = 0 args.forEach(item=>{ ret += item }) console.log('ret :>> ', ret); return ret } sum(1,2,3,4)