用特定的字符串参数描述函数

时间:2015-01-29 00:15:38

标签: typescript

我正在尝试编写一个接口来描述基础JQuery插件。该插件使用第一个参数来确定使用基础插件调用的子插件。

下面是我想要实现的一个例子。

/// <reference path="jquery.d.ts"/>

interface JQuery {
  foundation(plugin:'reveal',action:string):void;
  foundation(plugin:'dropdown',action:string,$el:JQuery):void;
}

如何在打字稿定义中描述固定的字符串参数?

1 个答案:

答案 0 :(得分:2)

您需要提供非专业的功能签名。然而,这确实打开了错误的可能性:

interface JQuery {
  foundation(plugin:'reveal',action:string):void;
  foundation(plugin:'dropdown',action:string,$el:JQuery):void;
  foundation(plugin:string,action:string,$el?:JQuery):void;
}

// SADLY 
var foo:JQuery;
foo.foundation('sad','panda');

WHY

原因是没有确定的方法让编译器总是提前知道特定字符串是否具有精确值。此string可能来自userinput / database。这里的想法是直接将此信息提供给您。