如何将带有元素的对象预定义为数组<string>类型?



我有一个对象,我需要在这个对象中定义子元素,它将是一个数组。但是我该如何定义它的类型呢?如果没有类型定义,则会引发错误。

隐含有任何[]

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'],
}
}

相关内容

最新更新