我有以下功能:
function getAdminParams(entity) {
params = {};
params = {
pk: "0006000",
param: "?pk=0006000",
table: "Content",
success: true
};
return params;
}
在另一个文件中我使用这个函数:
params = getAdminParams(entity);
if (params.success) {
有没有办法可以使用intellisense以便params对象 显示为具有“成功”参数?我看到Typescript有类和接口,但我不确定如何将这些用作返回类型。
答案 0 :(得分:2)
如果将params定义为接口,则可以在函数括号后使用冒号将其声明为getAdminParams()
的返回类型。像这样:
interface IParams {
success: bool;
pk: string;
// etc...
}
function getAdminParams(entity): IParams {
params = {
pk: "0006000",
success: true
// etc...
};
return params; // If the properties assigned do not fulfill the IParams interface, this will be marked as an error.
}
params = getAdminParams(entity);
if (params. // Intellisense should offer success and pk and any other properties of IParams).
在getAdminParams
内你可以明确地将params
声明为新的IParams
,但是类型推断会为你设置智能感知,即使你不这样做,只要属性为你分配给params
对象履行IParams
接口中指定的合同。
当然,您的返回类型可以是类,字符串或任何其他类型,您可以使用function f(): returnType
语法以相同的方式声明它。
language specification详细介绍了所有这些内容,或者此处有一个较短的介绍:http://www.codeproject.com/Articles/469280/An-introduction-to-Type-Script或类似的SO问题:How to declare Return Types for Functions in TypeScript