我可以使用接口来定义对象的允许字段吗?

时间:2012-11-11 14:37:58

标签: javascript jquery typescript

现在我的理解是我可以声明这样的界面:

interface IParams {
    success: bool;
    pk: string;
}

和这样的函数:

function x () : IParam {
   var params = {
      success: true,
      pk: "xx"
   };
   return params;
}

这样可以正常工作,但有一种方法可以做到这一点,并有 params变量只接受成功和pk的值?我想要的是一些阻止我做以下事情的方法:

function x () : IParam {
   var params = {
      successssssssssssss: true,
      pk: "xx"
   };
   return params;
}

2 个答案:

答案 0 :(得分:3)

简单地在var声明上放置一个类型注释就可以做到你想要的:

var params : IParams = {
  success: true,
  pk: "xx"
};

答案 1 :(得分:1)

interface IParams 
{
    success: bool;
    pk: string;
}

function x () : IParams
{
   var params = {
      success: true,
      pk: "xx"
   };

   if ( params.success && params.pk)
     return params;
   else
     // handle exception
}

然后x函数中的代码只有在param中有两个变量时才会执行