空感知函数调用运算符
Null aware function invocation operator
以同样的方式我们可以
nullableClassInstance?.method(blah)
有什么办法吗
nullableFunctionInstance?(blah)
换句话说,是否有一个运算符检查一个函数实例是否不是null
,如果是,则在一行中调用所有函数?
使用 call
method,您可以通过以下方式实现您想要的:
nullableFunctionInstance?.call(blah)
如果你想传递参数,还有apply
method。
如果您有一个函数对象,您可以使用 call
方法并将所有参数发送到与调用该函数完全相同的对象。在这里,您可以使用 null 感知成员访问运算符。
void myFun(int a , int b){...}
var myVar = myFun ;
致电
仅当函数 myVar 不为 null 时才会被调用,如下所示。
myVar?.call( arg1 , arg2 );
申请
如果您的函数是动态的,或者您希望控制在 运行 时间调用哪个函数,您可以像这样使用 Function
的 apply
静态方法:
Function.apply(myVar , [arg1 , arg2]);
apply
接受函数和 List
将被发送到函数的参数。
以同样的方式我们可以
nullableClassInstance?.method(blah)
有什么办法吗
nullableFunctionInstance?(blah)
换句话说,是否有一个运算符检查一个函数实例是否不是null
,如果是,则在一行中调用所有函数?
使用 call
method,您可以通过以下方式实现您想要的:
nullableFunctionInstance?.call(blah)
如果你想传递参数,还有apply
method。
如果您有一个函数对象,您可以使用 call
方法并将所有参数发送到与调用该函数完全相同的对象。在这里,您可以使用 null 感知成员访问运算符。
void myFun(int a , int b){...}
var myVar = myFun ;
致电
仅当函数 myVar 不为 null 时才会被调用,如下所示。
myVar?.call( arg1 , arg2 );
申请
如果您的函数是动态的,或者您希望控制在 运行 时间调用哪个函数,您可以像这样使用 Function
的 apply
静态方法:
Function.apply(myVar , [arg1 , arg2]);
apply
接受函数和 List
将被发送到函数的参数。