дык вот я не понимаю, как это работает так. Мол он разбивает эту операцию на две? Это синтаксический сахар или это какая-то вундервафля этого языка, что он умеет в блоке условий (где по хорошему результатом должен быть булеан) умеет задекларировать переменную, тут же привести её к другому типу и при этом такой: ну да, ошибок нет, всё норм привелось, значит работаем, ребята