我有一个对象,我需要在这个对象中定义子元素,它将是一个数组。但是我该如何定义它的类型呢?如果没有类型定义,则会引发错误。
隐含有任何[]
let someObject = {
somePropety: {
A : 0,
B : 0,
C : []<string>,
}
}
有人知道如何为C
元素指定字符串类型的数组吗?
您似乎在寻找
let someObject = {
someProperty: {
A: 0,
B: 0,
C: [] as string[],
},
};
或者,您可以声明整个someObject
变量的类型(请参阅@woooooo或@ksav的答案(,而不是对空数组文字使用类型断言。
您正在寻找string[]
。然而,您的示例看起来并不是一个类型定义?
我会这样写:
let someObject: { somePropety: { A: number; B: number; C: string[] } } = {
somePropety: {
A: 0,
B: 0,
C: []
}
};
如果您试图将C定义为字符串数组,您可以执行以下操作:
C: string[];
或者使用通用数组类型:
C: Array<string>
你可以在这里找到更多关于TypeScript基本类型的详细信息
为对象创建一个接口,以便显式键入它。
interface MyObject {
somePropety: {
A: number
B: number
C: string[]
}
}
let someObject: MyObject = {
somePropety: {
A : 0,
B : 0,
C : ['a', 'b', 'c'],
}
}