Skip to content

数组类型

我们一直在使用这样一种类型:数组类型。每当我们写出 number[] 或 string[] 这样的类型时,实际上只是Array<number> 和 Array<string> 的缩写。

typescript
function doSomething(value: Array<string>) { 
  // ... 
}

let myArray: string[] = ["hello", "world"]; 
// 这两样都能用 
doSomething(myArray); 
doSomething(new Array("hello", "world"));

和上面的 Box 类型一样, Array 本身也是一个通用类型。

typescript
interface Array<Type> { 
  /**
   * 获取或设置数组的长度。 
   */ 
  length: number; 
  
  /**
    * 移除数组中的最后一个元素并返回。 
    */ 
  pop(): Type | undefined; 
  
  /**
   * 向一个数组添加新元素,并返回数组的新长度。 
   */ 
  push(...items: Type[]): number;
  // ... 
}

现代JavaScript还提供了其他通用的数据结构,比如 Map<K, V> , Set<T> , 和 Promise<T> 。这实际上意味着,由于 Map 、 Set 和 Promise 的行为方式,它们可以与任何类型的集合一起工作。