是否可以在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[] } = {};
谢谢。你能澄清** p1 **和** p1:string [] **(见我的第一和第二个例子)之间的区别吗? –
dragonmnl
基本上' p1'意味着将'p1'铸造成一个字符串数组('Array []'就像'Array ')。但在你的例子中,你把键转换成一个字符串数组而不是值。但即使你投了价值,它只是一个具体的价值,它没有任何关于对象本身(你定义为“任何”), –