本系列知识部分基于小满 ZS 的TypeScript 系列教程。我也会补充一些视频没有的内容。
数组类型
1. 基本类型
let arr: number[] = [1, 2, 3];
let arr1: boolean[] = [true, true, false];
//使用泛型
let arr2: Array<boolean> = [true, true, false];
2. 对象类型
interface Student {
name: string;
}
let arr: Student[] = [{ name: "张三" }, { name: "李四" }];
//使用泛型
let arr1: Array<Student> = [{ name: "张三" }, { name: "李四" }];
3. 二维数组
let arr1: number[][] = [
[1, 2, 3],
[4, 5, 6],
];
//使用泛型
let arr2: Array<Array<number>> = [
[1, 2, 3],
[4, 5, 6],
];
4. 任意类型
let arr8: any[] = [1, "sss", {}]
5. 混合类型数组
使用元组定义混合类型
let arr9: [number, string, {}] = [1, "sss", {}]
6. 函数剩余参数
函数剩余参数,也是可以被约束类型的。
//计算传入数值的和
function sum(...args: number[]) {
return args.reduce((pre, cur) => {
return pre + cur;
});
}
7. arguments
在ES6之前,是没有剩余参数的,可以使用arguments
,获取全部参数(ES6之后依然有效)。
ts中为arguments
提供了一个接口叫IArguments
,可以使用这个接口来引用arguments
:
function fn(...args: any[]) {
let a: IArguments = arguments;
}
模拟IArguments
IArguments 可替换为下面的接口,主要就是callee、length和索引签名
interface A {
callee: Function;
length: number;
[index: number]: any;
}
标签:TypeScript,系列,name,number,let,arguments,数组,类型,true
From: https://www.cnblogs.com/sq800/p/17549162.html