我们可以用同样的方式
nullableClassInstance?.method(blah)
有办法吗
nullableFunctionInstance?(blah)
换句话说,是否有一个运算符检查函数实例是否为空,如果是,则在一行中调用该函数?
答案 0 :(得分:17)
使用call method,您可以实现您想要的目标:
nullableFunctionInstance?.call(blah)
答案 1 :(得分:6)
如果具有Function Object,则可以使用call
方法并将所有参数发送到与调用函数完全相同的参数。在这里,您可以使用了解空值的成员访问运算符。
void myFun(int a , int b){...}
var myVar = myFun ;
函数myVar仅在其不为null时才会被调用,如下所示。
myVar?.call( arg1 , arg2 );
如果函数是动态的,或者希望控制运行时正在调用哪个函数,则可以像这样使用apply
的{{1}}静态方法:
Function
Function.apply(myVar , [arg1 , arg2]);
接受函数和将发送到函数的参数apply
。