(Function)(引数)形式の即時関数については、mts10806さんがお答えしているので
Function部分についての補足を。
javascript
1var data = ("a",1,"123");
2console.log(data);// "123"が入る
質問のように、カンマ演算子で区切ると"a",1,"123"のすべて値・式の評価を行うが最終の
値・式がdataに代入される。
そのため、(0, _utils.fromRoot)のような場合、_utils.fromRootに定義された関数を
引数'path/to/filename'で呼び出すにほぼ等しいことになる。
javascript
1_utils.fromRoot('path/to/filename');// ・・・1
2(0, _utils.fromRoot)('path/to/filename');// ・・・2
ただし、両者の違いはformRoot内でのthisコンテキストの違いである。
この1の場合はfromRoot関数内でのthisは[_utils]となるが、2の場合はfromRoot関数内での
thisは(ブラウザの場合)windowとなる。
これは、上記のカンマ演算子によるもので分解すると以下のようになるため、thisコンテキスト
の参照ことなることになる。
javascript
1var fromRoot = (0, _utils.fromRoot);
2fromRoot('path/to/filename');
USのスタックオーバーフローに似たような質問がありました。
What is the meaning of this code (0, function) in javascript [duplicate]