7 javascript jquery typescript
我有以下代码:
///<reference path="../typescript/jquery.d.ts" />
function addThemePrototypes() {
var templateSetup = new Array();
$.fn.addTemplateSetup = function(func, prioritary)
{
if (prioritary)
{
templateSetup.unshift(func);
}
else
{
templateSetup.push(func);
}
};
}
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我为什么这应该声明=> void?
interface JQuery {
addTemplateSetup: (func: Function, priority: bool) =>void;
}
Run Code Online (Sandbox Code Playgroud)
我想我对如何从javascript函数做返回类型有点困惑.有时候我会看到:jQuery,现在我正在查看=> void.两者有什么区别?
在您的示例中,它们都使用冒号声明。
让我们将其分成两半!
没有类型声明...
interface JQuery {
addTemplateSetup
}
Run Code Online (Sandbox Code Playgroud)
类型声明...
: (func: Function, priority: bool) =>void;
Run Code Online (Sandbox Code Playgroud)
如果您使用单词is代替,:它就像说
名为“ addTemplateSetUp”的属性:接受特定类型的两个参数且不返回值的函数
这是一个示例,其中两个接口实际上是相同的,但一个使用=>,另一个不使用。两者都被TypeScript相同地对待,因此实际上取决于开发人员的偏好。
interface JQuery {
addTemplateSetup: (func: Function, priority: bool) =>void;
}
interface Identical {
addTemplateSetup(func: Function, priority: bool): void;
}
class ImplementsEither implements JQuery {
addTemplateSetup (func: Function, priority: bool) : void {
}
}
Run Code Online (Sandbox Code Playgroud)
=>如果您喜欢几乎以英语阅读的样式声明,则可以使用。
如果您希望您的界面看起来更像实现方式,则可以使用第二种样式。