Typescript:定义一个对象的类型
问题描述:
我想定义一个对象文字的类型,使用键valye对,如下所示。无论如何不能管理这一点。请帮忙。Typescript:定义一个对象的类型
export const endPoints: {name: string: {method: string; url: string;}} = {
allFeed: {
method: 'GET',
url: 'https://www.yammer.com/api/v1/messages.json'
},
topFeed: {
method: 'GET',
url: 'https://www.yammer.com/api/v1/messages/algo.json'
},
followingFeed: {
method: 'GET',
url: 'https://www.yammer.com/api/v1/messages/following.json'
},
defaultFeed: {
method: 'GET',
url: 'https://www.yammer.com/api/v1/messages.json/my_feed.json'
}
};
答
你很接近,应该是:
const endPoints: { [name: string]: { method: string; url: string; } } = {
allFeed: {
method: 'GET',
url: 'https://www.yammer.com/api/v1/messages.json'
},
...
};
您还可以使用接口:
interface EndPoint {
method: string;
url: string;
}
interface EndPointMap {
[name: string]: EndPoint;
}
const endPoints: EndPointMap = {
...
}
或者类型:
type EndPoint = {
method: string;
url: string;
}
type EndPointMap = {
[name: string]: EndPoint;
}
const endPoints: EndPointMap = {
...
}
这使得代码在我看来更可读(与之相比)在线方式声明类型)
非常感谢。 :-) –