Как и в C и C ++, оператор запятой вычисляет вещь с левой стороны, а затем вычисляет вещь справа; общее значение выражения является значением правой стороны. По сути, это позволяет одному выражению делать две вещи (одна на левой стороне, вероятно, для побочных эффектов, таких как вызов метода или назначение). Да, синтаксис несколько неоднозначен с синтаксисом, используемым в вызовах функций и объявлениях переменных.
Я предпочитаю использовать честный блок, содержащий несколько операторов, где это возможно. Дольше, но в конечном итоге чище. Отладка тоже проще.