在阅读TypeScript时,遇到了有关类数组的知识点:
可以用接口表示数组,但是我们一般不会这么做,不过有一种情况特殊,那就是用它来表示类数组。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
// 编译报错
function sum() {
let args: number[] = arguments;
}
// 编译通过
function sum() {
let args: {
[index: number]: number;
length: number;
callee: Function;
} = arguments;
}
|
这个例子中,我们除了约束当索引的类型是数字,值得类型必须是数字之外,也约束了它还有length和callee两个属性。
事实上常用的类数组都有自己的接口定义,如IArguments、NodeList、HTMLCollection等:
1
2
3
4
5
|
function sum() {
let args: IArguments = arguments;
}
|
**我对类数组不了解,我对arguments也不了解。**先记录,稍后再系统学习JS。