It is a little confusing. Here is the outer operation
var temp = da >= d3_svg_arcMax ? X : Y;
This means if da>=d3_svg_arcMax then temp is "X" otherwise it is "Y".
So looking back at the original "X" is
r0 ? "Z" : "M0"
This means if r0 is true then evaluate to "Z" otherwise evaluate to "M0"
And "Y" is
r0 ? "M" : "M"
which means if r0 is true then evaluate to "M" otherwise evaluate to "M" - this is actually pointless and Y could be placed with just "M", but that's beside the point.
Putting it together, if da>=d3_svg_arcMax and r0 is true then temp is "Z", but if r0 is false then temp is "M0". If da is not >=d3_svg_arcMax and r0 is true then temp is "M", but if r0 is false temp is "M"
To use parenthesis it would be like
var temp = (da >= d3_svg_arcMax ? (r0 ? "Z" : "M0") : (r0 ? "M" : "M"));