是否可以在Typescript中定义'string类型数组的对象? (类型检查的正确位置?)

是否可以在Typescript中定义'string类型数组的对象? (类型检查的正确位置?)

问题描述:

我知道在打字稿中可以通过ClassName(ES6类)或'any'键入对象。我也知道你可以定义一个字符串(string [])的数组,甚至是一个字符串数组(数组)。是否可以在Typescript中定义'string类型数组的对象? (类型检查的正确位置?)

我需要表示一个对象的类型的属性是只有字符串类型的数组。

例如

export var MY_VAR: any = { 
    <string[]> p1: [...] 
} 

我的东西试过像任何以下OBJECT_NAME:,但不是运气。

我也试过任何以下object_name和每个对象的数组之前。

在任一情况下,我有语法错误(见上面的例子)

EDIT显然

export var MY_VAR: any = { 
    <string[]> p1: [...] 
} 

可代替。但我不明白的区别是什么

这不是很清楚你问什么,但如果我设法让你的权利,那么:

interface MyType { 
    [key: string]: string[]; 
} 

或内联:

let myArrays: { [key: string]: string[] } = {}; 
+0

谢谢。你能澄清** p1 **和** p1:string [] **(见我的第一和第二个例子)之间的区别吗? – dragonmnl

+0

基本上' p1'意味着将'p1'铸造成一个字符串数组('Array []'就像'Array ')。但在你的例子中,你把键转换成一个字符串数组而不是值。但即使你投了价值,它只是一个具体的价值,它没有任何关于对象本身(你定义为“任何”), –