这是对象,它从类中的方法返回:
public dbParameters() // HERE
{
return {
"values": this.valuesForDb,
"keys": this.keysForDb,
"numbers": this.numberOfValues,
}
}
在这种情况下,您能否建议如何定义函数返回的类型?或者这可能不是正确的方法,我应该使用另一种类型而不是对象文字?
答案 0 :(得分:7)
一种方式可能只是一条消息,结果是一个dictinary:
public dbParameters() : { [key: string]: any}
{
return {
"values": this.valuesForDb,
"keys": this.keysForDb,
"numbers": this.numberOfValues,
}
}
另一个可以使用一些界面
export interface IResult {
values: any[];
keys: string[];
numbers: number[];
}
export class MyClass
{
public dbParameters() : IResult
{
return {
values: this.valuesForDb,
keys: this.keysForDb,
numbers: this.numberOfValues,
}
}
}
使用interface
我们有很大的优势......它可以在许多地方重复使用(声明,使用......)以便这是首选的
而且,我们可以组成属性结果的最具体设置
export interface IValue {
name: string;
value: number;
}
export interface IResult {
values: IValue[];
keys: string[];
numbers: number[];
}
进行游戏