Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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 Typescript在另一个函数中用作可选参数_Javascript_Typescript - Fatal编程技术网

Javascript Typescript在另一个函数中用作可选参数

Javascript Typescript在另一个函数中用作可选参数,javascript,typescript,Javascript,Typescript,我有这样一个函数: function fn(variableFunction:(args?:String)=>boolean){//更改为args?:任何操作都可以,但这需要是String ... }真正的答案取决于您计划在fn的实现中如何使用变量函数。假设您希望在字符串上实际调用它,如: variableFunction("hello"); 然后,fn的正确签名为 function fn(variableFunction: (args: string) => boolean) {

我有这样一个函数:

function fn(variableFunction:(args?:String)=>boolean){//更改为args?:任何操作都可以,但这需要是String
...

}
真正的答案取决于您计划在
fn
的实现中如何使用
变量函数。假设您希望在
字符串上实际调用它,如:

variableFunction("hello");
然后,
fn
的正确签名为

function fn(variableFunction: (args: string) => boolean) {
  variableFunction("hello");
}
在这里,我将
String
更改为
String
,因为,我将
args
参数设置为非可选参数

在您的示例中,它将同时接受
fn()
调用:

fn(something); // okay
fn(something2); // okay
可能令人惊讶的是,
fn(something2)
不是一个错误,因为
something2
不接受参数。但这是我的。这是因为在运行时,您总是可以将
something2
(一个没有参数的函数)视为
something
(一个忽略其参数的函数)

无论如何,希望这有帮助;祝你好运


真正的答案取决于您计划在
fn
的实现中如何使用
variableFunction
。假设您希望在
字符串上实际调用它,如:

variableFunction("hello");
然后,
fn
的正确签名为

function fn(variableFunction: (args: string) => boolean) {
  variableFunction("hello");
}
在这里,我将
String
更改为
String
,因为,我将
args
参数设置为非可选参数

在您的示例中,它将同时接受
fn()
调用:

fn(something); // okay
fn(something2); // okay
可能令人惊讶的是,
fn(something2)
不是一个错误,因为
something2
不接受参数。但这是我的。这是因为在运行时,您总是可以将
something2
(一个没有参数的函数)视为
something
(一个忽略其参数的函数)

无论如何,希望这有帮助;祝你好运