Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 类型定义文件_Javascript_Typescript_.d.ts - Fatal编程技术网

Javascript 类型定义文件

Javascript 类型定义文件,javascript,typescript,.d.ts,Javascript,Typescript,.d.ts,是否可以为下一个函数编写类型定义 define('ComponentName', ['_', 'jQuery'], function(_, $) { ... }); 问题是在函数内部无法识别参数“”(lodash)和“jQuery” 此外,可以使用可变数量的参数调用函数,例如仅使用jQuery: define('ComponentName', ['jQuery'], function($) { ... }); 谢谢。诸如此类: interface ComponentTypes {

是否可以为下一个函数编写类型定义

define('ComponentName', ['_', 'jQuery'], function(_, $) {
   ...
});
问题是在函数内部无法识别参数“”(lodash)和“jQuery”

此外,可以使用可变数量的参数调用函数,例如仅使用jQuery:

define('ComponentName', ['jQuery'], function($) {
   ...
});
谢谢。

诸如此类:

interface ComponentTypes {
    // Replace with actual types. 
    MyComponent: unknown;
    _: unknown;
    jQuery: unknown;
}

function define<D extends keyof ComponentTypes,
    A1 extends keyof ComponentTypes>
    (d: D, deps: [A1], f: (a1: ComponentTypes[A1]) => void);
function define<D extends keyof ComponentTypes,
    A1 extends keyof ComponentTypes, A2 extends keyof ComponentTypes>
    // TODO: Where does ComponentTypes[D] enter into this?
    (d: D, deps: [A1, A2], f: (a1: ComponentTypes[A1], a2: ComponentTypes[A2]) => void);
function define(d: string, deps: string[], f: Function) {
    // ...
}

define("MyComponent", ["_", "jQuery"], function (_, $) {
    // ...
});
define("MyComponent", ["jQuery"], function ($) {
    // ...
});
接口组件类型{
//替换为实际类型。
MyComponent:未知;
_:未知;
jQuery:未知;
}
函数定义
(d:d,deps:[A1],f:(A1:ComponentTypes[A1])=>void);
函数定义
//TODO:ComponentTypes[D]在何处进入此项?
(d:d,deps:[A1,A2],f:(A1:ComponentTypes[A1],A2:ComponentTypes[A2])=>void);
函数定义(d:string,deps:string[],f:function){
// ...
}
定义(“MyComponent”、[“\u”、“jQuery”]、函数(\u、$){
// ...
});
定义(“MyComponent”、[“jQuery”]、函数($){
// ...
});