在“绝对类型”上有一个AngularJS类型定义,可让您使用Typescript中的Angular。
如果我正在为这样的现有函数创建一个定义(在没有命名参数的情况下),那么我可能会以特定的顺序定义它们(即使我知道它们 可以
在纯Javascript中以不同的顺序传递)或创建一组与我想公开的可能性相匹配的函数重载,如下所示:
interface Example { ($scope: bool, $location: string, Project: number): void; ($location: string, $scope: bool, Project: number): void; (Project: number, $scope: bool, $location: string): void;}declare var example: Example;当我尝试调用时,
example(我会通过三个选项获得智能感知;如果不使用这些组合之一,则会收到编译器警告。
在Javascript中,命名参数通常是用一个对象创建的,因此,如果我正在编写一个可以以这种方式接受参数的新方法,我会这样做。
interface ExampleArguments { scope: bool; location: string; project: number;}var example = function (exampleArguments: ExampleArguments) {};example({ scope: true, project: 4, location: 'hi' });它是在Typescript中静态键入和检查的。



