Javascript 如何将typescript与非typescript js框架一起使用?
我有一个Javascript工作流框架 步骤的定义如下:Javascript 如何将typescript与非typescript js框架一起使用?,javascript,typescript,Javascript,Typescript,我有一个Javascript工作流框架 步骤的定义如下: var enterSSNStep = function() { // some init code }; $.extend(enterSSNStep.prototype, framework.step.prototype, { // declare functions for enterSSNStep here }); 是否有一种方法可以在Typescript中编写步骤并保留我目前使用$.extend实现的继承系统?您应该能够执
var enterSSNStep = function() {
// some init code
};
$.extend(enterSSNStep.prototype, framework.step.prototype, {
// declare functions for enterSSNStep here
});
是否有一种方法可以在Typescript中编写步骤并保留我目前使用$.extend实现的继承系统?您应该能够执行以下操作: 框架d.ts entersnstep.ts
//
类entersnstep扩展了framework.step{
构造函数(arg){
//一些初始化代码
超级(arg);
}
公共剂量{
这个。doSomething();
}
}
希望有帮助;) 虽然您当然可以在TypeScript中编写这样的代码,但您可能会发现这样做会阻止编译器进行大量类型推断或类型检查,因为它无法理解您的
$。扩展基于的原型层次结构。是否有任何特殊原因需要使用$.extend
?例如,以下类型脚本代码:
class enterSSNStep extends framework.step {
constructor() {
super();
// init code
}
// functions for enterSSNStep
doSomething() {
// do stuff
}
}
编译为以下ES5代码:
var enterSSNStep = (function (_super) {
__extends(enterSSNStep, _super);
function enterSSNStep() {
_super.call(this);
// init code
}
// functions for enterSSNStep
enterSSNStep.prototype.doSomething = function () {
// do stuff
};
return enterSSNStep;
})(framework.step);
请注意,我省略了上面的\uu extends
的定义(如果需要做一些特殊的事情,您可以提供自己的,或者使用TypeScript生成的标准接口)。所以我只需要在*.d.ts文件中定义接口,就可以了?这太棒了。是的,如果你的框架是用好的JavaScript代码标准实现的,你应该不会有任何问题;)
class enterSSNStep extends framework.step {
constructor() {
super();
// init code
}
// functions for enterSSNStep
doSomething() {
// do stuff
}
}
var enterSSNStep = (function (_super) {
__extends(enterSSNStep, _super);
function enterSSNStep() {
_super.call(this);
// init code
}
// functions for enterSSNStep
enterSSNStep.prototype.doSomething = function () {
// do stuff
};
return enterSSNStep;
})(framework.step);