我知道在TypeScript中,一个对象可以通过类名(ES6 class)或'any'进行类型定义。
我也知道你可以定义一个字符串数组(string []),甚至是一个字符串数组的数组(string [][])。
我需要表达一个属性仅为字符串类型数组的对象的类型。
例如:
export var MY_VAR: any = {
<string[]> p1: [...]
}
我尝试使用类似任何以下对象名称:但没有成功。
我还尝试过任何以下的对象名称,并在每个对象的数组之前。
无论哪种情况,我都有语法错误(见上面的示例)。 编辑 显然。
export var MY_VAR: any = {
<string[]> p1: [...]
}
works instead. 然而我不明白它们之间的区别是什么
<string[]> p1
表示将p1
强制转换为字符串数组 (string[]
就像Array<string>
)。但在你的例子中,你将键强制转换为字符串数组,而不是值。但即使你将值强制转换,它只是一个特定的值,它对对象本身没有任何意义(你定义为any
)。 - Nitzan Tomer