Angularjs 括号语法

Angularjs brackets syntax

我正在阅读 https://docs.angularjs.org/api/ng/function/angular.noop,其中有这个例子:

function foo(callback) {
  var result = calculateResult();
  (callback || angular.noop)(result);
}

我不明白这条线在做什么:

  (callback || angular.noop)(result);

貌似callbackangular.noop是可以returntruefalse的函数,但是这个值是用来做什么的,又是什么(result) 在旁边做什么?

左侧确定使用哪个函数引用,右侧调用传入 result 作为参数的函数

更详细的形式与做的一样:

if (callback) {
  callback(result)
} else {
  angular.noop(result)
}