Запятая разделяет выражения. Они вычисляются и возвращается результат последнего.
(2 + 3, 4 + 5) // вернёт 9
(1,5 - 2) // вернёт 3, ставьте правильно пробелы )
(a = 1, условие2) // назначит новое значение переменной a и вернёт значение условия2
Конструкция в вопросе проделает следующую работу:
- проверит условие1 и если оно false – дальше не пойдёт.
- назначит a=1 и с этим новым значением проверит условие2. Если оно false - стоп.
- назначит a=2 и с этим новым значением проверит условие3. Если и оно true – if сработает.