我正在为我的项目使用打字稿,并在编写定义文件时注意到openui5偶尔在必需参数之前使用可选参数。例如
// Defines a Javascript module with its name, its dependencies and a module value or factory.
define(sModuleName?, aDependencies?, vFactory, bExport?);
Typescript、Flow Type和Closure Compiler都需要这种形式的参数列表:
ParameterList:
RequiredParameterList
OptionalParameterList
RestParameter
RequiredParameterList , OptionalParameterList
RequiredParameterList , RestParameter
OptionalParameterList , RestParameter
RequiredParameterList , OptionalParameterList , RestParameter
然而,这个结构是否不能被视为等同于三个重载函数,即
define(vFactory, bExport?);
define(aDependencies, vFactory, bExport?);
define(sModuleName, aDependencies, vFactory, bExport?);