Hi,
do
-Expressions sollen doch eine Alternative zum mitunter umständlich handhabbaren?:
-Operator sein.
Wie kommst Du denn darauf? Das Eine hat doch mit dem Anderen nichts zu tun.
Welchen Sinn macht es, beides gemeinsam zu verwenden?
Nun, eine ternary Zuweisung macht den Code kürzer, weil die Bedingung gleich mitgegeben ist. Also entfällt auch eine vorherige Deklaration per Schlüsselwort (var, const..), weil das ebenso gleich mit der Zuweisung erledigt wird. Und in einem do{}-Block schließlich kann man weitere Codezeilen unterbringen, bspw. zur Berechnung eines bestimmten Wertes, der, damit das funktioniert, in der letzten Zeile des do{}-Block stehen muss:
var x = x === 1 ? x : do{
var y = x * 99;
var z = -1 * x;
y + z >>> 0;
};
MfG