Tyescript:如何为强类型数组Array定义输入

时间:2016-11-29 10:17:09

标签: typescript typescript-typings strong-typing

已经有a similar question,唯一的区别是我想在This PHP environment doesn't support secure random number generation. Please consider upgrading to PHP 7 文件中声明打字而不是每次都声明。

我一直在写类似

的打字
d.ts

interface SomeType { key1: string[]; key2: number; } 类型。

现在我需要一个Objects with named properties类型,

(类似):

Array with two sub-Arrays

这样我就可以写

 TheType : [string[], string[]]

而不是

let myVar: TheType;

我已尝试let myVar: [string[], string[]]; namespacemodule一起玩,没有运气,如果需要,我可以解释他们的问题,但是我觉得要么我错过了一些非常明显的东西,要么就是不可能?

注意:需要解决方法!谢谢!

1 个答案:

答案 0 :(得分:2)

我会将扩展Array的接口与通用混合以创建NestedArray类型,您可以将其用于任何类型。嵌套数组类型将使您的内联类型更具可读性:

interface NestedArray<T> extends Array<Array<T>> {}

var x: NestedArray<string> = [['a', 'b'], ['c', 'd'], ['e', 'f']];

var y = x[0]; // y is Array<string>
var z = x[0][1]; // z is string

与其他类型一起使用:

var x: NestadArray<Customer> = [];