Подтвердить что ты не робот

В чем смысл этого кода (0, функция) в javascript

Я нашел этот код в чей-то код, он звучит так:

(0, function (arg) { ... })(this)

После того, как я попытаюсь сыграть, как показано ниже,

(0, function (arg) { console.log(arg) })(2);
console.log((0, 1, 2, 3));
(0, function plus1 (arg) { console.log(arg + 1) }, function plus2 (arg) { console.log(arg + 2) })(5);
4b9b3361

Ответ 1

В этом конкретном случае это кажется излишним, но иногда этот подход полезен.

Например, с eval:

(function() {
  (0,eval)("var foo = 123"); // indirect call to eval, creates global variable
})();
console.log(foo);            // 123
(function() {
  eval("var bar = 123");     // direct call to eval, creates local variable
})();
console.log(bar);            // ReferenceError

Ответ 2

типичным примером может быть,

for(var i=0,j=10; i < j; i++){
 // code ...
}

оператор запятой будет оценивать выражения слева направо и возвращать результат самого правильного выражения

// e.g.

var a = 1, b= 2, c = 3, d = function(){ console.log("a => " +  a) }()