What is the function of () in var generateComponentTrace = (noop)?

In the source code, there are some pieces of code like this.

var generateComponentTrace = (noop); // work around flow check
function noop (a, b, c) {}

An ordinary function is enclosed in parentheses. I haven’t dived into flow check, but from the perspective of js syntax I can’t get difference between the first piece of code and the following code.

var generateComponentTrace = noop

So why add parentheses in source code?

What role does the parentheses play in flow check?

The following two pieces of code are my test for parentheses.

<html>
<body>
  <div>
    parentheses exist
  </div>
  <script>
    function f1() {
      return 'I am f1';
    }
    var f2 = (f1);
    f2()
  </script>
</body>
</html>

when runing return 'I am f1';, whose abstract memory map is as following:

<html>
<body>
  <div>
    parentheses don't exist
  </div>
  <script>
    function f1() {
      return 'I am f1';
    }
    var f2 = f1;
    f2()
  </script>
</body>
</html>

The memory map is same as when parentheses exist.

So from the perspective of js syntax, var generateComponentTrace = (noop); has same function as var generateComponentTrace = noop.

函数的立即调用,你可以试一下这几行代码

function test() {
  console.log('我执行了')
}
const Immediately = (test)
const test_normal = test
Immediately
test_normal()

Thank you for your reply.
I have test your code. I can’t detective difference between const Immediately = (test) and const test_normal = test.
image
Noop will be consider as expression when it’s enclosed in parentheses((noop)) or located in the right of “=”. So const Immediately = (test) and const test_normal = test has the same function.